[role="xpack"] [testenv="basic"] [[enrich-processor]] === Enrich Processor The `enrich` processor can enrich documents with data from another index. See <> section for more information how to set this up and check out the <> to get familiar with enrich policies and related APIs. a [[enrich-options]] .Enrich Options [options="header"] |====== | Name | Required | Default | Description | `policy_name` | yes | - | The name of the enrich policy to use. | `enrich_key` | no | Policy enrich_key | The field to get the value from for the enrich lookup. | `ignore_missing` | no | `false` | If `true` and `enrich_key` does not exist, the processor quietly exits without modifying the document | `override` | no | true | If processor will update fields with pre-existing non-null-valued field. When set to `false`, such fields will not be touched. | `targets` | no 1) | - | Describes what fields should be added to the document being indexed from the lookup document | `set_from` | no 1) | - | Same as `targets`, but allows fields from the lookup document to added under a different name to the document being indexed include::common-options.asciidoc[] |====== 1) Either `targets` or `set_from` must be specified. [[enrich-processor-set-from]] ==== Enrich `set_from` option This option should be used in the case that the field in the looked up document should be placed under a different field in the document being ingested. The `set_from` accepts an array with two fields: * `source` - The name of the field in the lookup document * `target` - The name of the field in the document being ingested that should hold the source field's value. For example: ////////////////////////// [source,js] -------------------------------------------------- PUT /_enrich/policy/users-policy { "type": "exact_match", "indices": "users", "match_field": "email", "enrich_fields": ["first_name", "last_name", "address", "city", "zip", "state"] } -------------------------------------------------- // CONSOLE // TEST ////////////////////////// [source,js] -------------------------------------------------- PUT _ingest/pipeline/user_lookup { "description" : "Enriching user details to messages", "processors" : [ { "enrich" : { "policy_name": "users-policy", "enrich_key" : "email", "set_from": [ { "source": "address", "target": "address-line-1" }, { "source": "city", "target": "residence" }, { "source": "zip", "target": "zipcode" }, { "source": "state", "target": "us_state" } ] } } ] } -------------------------------------------------- // CONSOLE // TEST[continued] ////////////////////////// [source,js] -------------------------------------------------- DELETE /_ingest/pipeline/user_lookup DELETE /_enrich/policy/users-policy -------------------------------------------------- // CONSOLE // TEST[continued] //////////////////////////