elasticsearch/docs/reference/ingest/processors/append.asciidoc

37 lines
1.3 KiB
Text

[[append-processor]]
=== Append processor
++++
<titleabbrev>Append</titleabbrev>
++++
Appends one or more values to an existing array if the field already exists and it is an array.
Converts a scalar to an array and appends one or more values to it if the field exists and it is a scalar.
Creates an array containing the provided values if the field doesn't exist.
Accepts a single value or an array of values.
[[append-options]]
.Append Options
[options="header"]
|======
| Name | Required | Default | Description
| `field` | yes | - | The field to be appended to. Supports <<template-snippets,template snippets>>.
| `value` | yes | - | The value to be appended. Supports <<template-snippets,template snippets>>.
| `allow_duplicates` | no | true | If `false`, the processor does not append
values already present in the field.
| `media_type` | no | `application/json` | The media type for encoding `value`. Applies only when `value` is a
<<template-snippets,template snippet>>. Must be one of `application/json`, `text/plain`, or
`application/x-www-form-urlencoded`.
include::common-options.asciidoc[]
|======
[source,js]
--------------------------------------------------
{
"append": {
"field": "tags",
"value": ["production", "{{{app}}}", "{{{owner}}}"]
}
}
--------------------------------------------------
// NOTCONSOLE