Back to Elasticsearch

Split processor [split-processor]

docs/reference/enrich-processor/split-processor.md

9.4.02.2 KB
Original Source

Split processor [split-processor]

Splits a field into an array using a separator character. Only works on string fields.

$$$split-options$$$

NameRequiredDefaultDescription
fieldyes-The field to split
separatoryes-A regex which matches the separator, eg , or \s+
target_fieldnofieldThe field to assign the split value to, by default field is updated in-place
ignore_missingnofalseIf true and field does not exist, the processor quietly exits without modifying the document
preserve_trailingnofalsePreserves empty trailing fields, if any.
descriptionno-Description of the processor. Useful for describing the purpose of the processor or its configuration.
ifno-Conditionally execute the processor. See Conditionally run a processor.
ignore_failurenofalseIgnore failures for the processor. See Handling pipeline failures.
on_failureno-Handle failures for the processor. See Handling pipeline failures.
tagno-Identifier for the processor. Useful for debugging and metrics.
js
{
  "split": {
    "field": "my_field",
    "separator": "\\s+" <1>
  }
}

% NOTCONSOLE

  1. Treat all consecutive whitespace characters as a single separator

If the preserve_trailing option is enabled, any trailing empty fields in the input will be preserved. For example, in the configuration below, a value of A,,B,, in the my_field property will be split into an array of five elements ["A", "", "B", "", ""] with two empty trailing fields. If the preserve_trailing property were not enabled, the two empty trailing fields would be discarded resulting in the three-element array ["A", "", "B"].

js
{
  "split": {
    "field": "my_field",
    "separator": ",",
    "preserve_trailing": true
  }
}

% NOTCONSOLE