2018-12-20 08:04:54 -05:00
|
|
|
[[convert-processor]]
|
2020-08-12 11:49:54 -04:00
|
|
|
=== Convert processor
|
|
|
|
++++
|
|
|
|
<titleabbrev>Convert</titleabbrev>
|
|
|
|
++++
|
|
|
|
|
2018-12-20 08:04:54 -05:00
|
|
|
Converts a field in the currently ingested document to a different type, such as converting a string to an integer.
|
|
|
|
If the field value is an array, all members will be converted.
|
|
|
|
|
|
|
|
The supported types include: `integer`, `long`, `float`, `double`, `string`, `boolean`, and `auto`.
|
|
|
|
|
|
|
|
Specifying `boolean` will set the field to true if its string value is equal to `true` (ignore case), to
|
|
|
|
false if its string value is equal to `false` (ignore case), or it will throw an exception otherwise.
|
|
|
|
|
|
|
|
Specifying `auto` will attempt to convert the string-valued `field` into the closest non-string type.
|
|
|
|
For example, a field whose value is `"true"` will be converted to its respective boolean type: `true`. Do note
|
|
|
|
that float takes precedence of double in `auto`. A value of `"242.15"` will "automatically" be converted to
|
|
|
|
`242.15` of type `float`. If a provided field cannot be appropriately converted, the Convert Processor will
|
|
|
|
still process successfully and leave the field value as-is. In such a case, `target_field` will
|
|
|
|
still be updated with the unconverted field value.
|
|
|
|
|
|
|
|
[[convert-options]]
|
|
|
|
.Convert Options
|
|
|
|
[options="header"]
|
|
|
|
|======
|
|
|
|
| Name | Required | Default | Description
|
|
|
|
| `field` | yes | - | The field whose value is to be converted
|
|
|
|
| `target_field` | no | `field` | The field to assign the converted value to, by default `field` is updated in-place
|
|
|
|
| `type` | yes | - | The type to convert the existing value to
|
|
|
|
| `ignore_missing` | no | `false` | If `true` and `field` does not exist or is `null`, the processor quietly exits without modifying the document
|
|
|
|
include::common-options.asciidoc[]
|
|
|
|
|======
|
|
|
|
|
|
|
|
[source,js]
|
|
|
|
--------------------------------------------------
|
|
|
|
PUT _ingest/pipeline/my-pipeline-id
|
|
|
|
{
|
|
|
|
"description": "converts the content of the id field to an integer",
|
|
|
|
"processors" : [
|
|
|
|
{
|
|
|
|
"convert" : {
|
|
|
|
"field" : "id",
|
|
|
|
"type": "integer"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
--------------------------------------------------
|
|
|
|
// NOTCONSOLE
|