| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 | [[split-processor]]=== Split processor++++<titleabbrev>Split</titleabbrev>++++Splits a field into an array using a separator character. Only works on string fields.[[split-options]].Split Options[options="header"]|======| Name              | Required  | Default  | Description| `field`           | yes       | -        | The field to split| `separator`       | yes       | -        | A regex which matches the separator, eg `,` or `\s+`| `target_field`    | no        | `field`  | The field to assign the split value to, by default `field` is updated in-place| `ignore_missing`  | no        | `false`  | If `true` and `field` does not exist, the processor quietly exits without modifying the document| `preserve_trailing`| no       | `false`  | Preserves empty trailing fields, if any.include::common-options.asciidoc[]|======[source,js]--------------------------------------------------{  "split": {    "field": "my_field",    "separator": "\\s+" <1>  }}--------------------------------------------------// NOTCONSOLE<1> Treat all consecutive whitespace characters as a single separatorIf 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 twoempty trailing fields would be discarded resulting in the three-element array `["A", "", "B"]`.[source,js]--------------------------------------------------{  "split": {    "field": "my_field",    "separator": ",",    "preserve_trailing": true  }}--------------------------------------------------// NOTCONSOLE
 |