mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-05-20 15:44:48 +00:00
* Add empty_value parameter to CSV processor This change adds `empty_value` parameter to the CSV processor. This value is used to fill empty fields. Fields will be skipped if this parameter is ommited. This behavior is the same for both quoted and unquoted fields. * docs updated * Fix compilation problem Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com> Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
36 lines
1.7 KiB
Plaintext
36 lines
1.7 KiB
Plaintext
[[csv-processor]]
|
|
=== CSV Processor
|
|
Extracts fields from CSV line out of a single text field within a document. Any empty field in CSV will be skipped.
|
|
|
|
[[csv-options]]
|
|
.CSV Options
|
|
[options="header"]
|
|
|======
|
|
| Name | Required | Default | Description
|
|
| `field` | yes | - | The field to extract data from
|
|
| `target_fields` | yes | - | The array of fields to assign extracted values to
|
|
| `separator` | no | , | Separator used in CSV, has to be single character string
|
|
| `quote` | no | " | Quote used in CSV, has to be single character string
|
|
| `ignore_missing` | no | `true` | If `true` and `field` does not exist, the processor quietly exits without modifying the document
|
|
| `trim` | no | `false` | Trim whitespaces in unquoted fields
|
|
| `empty_value` | no | - | Value used to fill empty fields, empty fields will be skipped if this is not provided.
|
|
Empty field is one with no value (2 consecutive separators) or empty quotes (`""`)
|
|
include::common-options.asciidoc[]
|
|
|======
|
|
|
|
[source,js]
|
|
--------------------------------------------------
|
|
{
|
|
"csv": {
|
|
"field": "my_field",
|
|
"target_fields": ["field1, field2"]
|
|
}
|
|
}
|
|
--------------------------------------------------
|
|
// NOTCONSOLE
|
|
|
|
If the `trim` option is enabled then any whitespace in the beginning and in the end of each unquoted field will be trimmed.
|
|
For example with configuration above, a value of `A, B` will result in field `field2`
|
|
having value `{nbsp}B` (with space at the beginning). If `trim` is enabled `A, B` will result in field `field2`
|
|
having value `B` (no whitespace). Quoted fields will be left untouched.
|