mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-07 21:48:39 +00:00
If a pipeline that refrences the policy exists, we should not allow the policy to be deleted. The user will need to remove the processor from the pipeline before deleting the policy. This commit adds a check to ensure that the policy cannot be deleted if it is referenced by any pipeline in the system.
102 lines
3.3 KiB
Plaintext
102 lines
3.3 KiB
Plaintext
[role="xpack"]
|
|
[testenv="basic"]
|
|
[[enrich-processor]]
|
|
=== Enrich Processor
|
|
|
|
The `enrich` processor can enrich documents with data from another index.
|
|
See <<ingest-enriching-data,enrich data>> section for more information how to set this up and
|
|
check out the <<enrich-processor-getting-started,getting started>> 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]
|
|
|
|
//////////////////////////
|