设置 enrich 处理器
编辑设置 enrich 处理器编辑
要设置 enrich 处理器,请按照以下步骤操作
设置 enrich 处理器后,您可以更新您的 enrich 数据并更新您的 enrich 策略。
enrich 处理器执行多项操作,可能会影响摄取管道的速度。
我们强烈建议您在生产环境中部署 enrich 处理器之前对其进行测试和基准测试。
我们不建议使用 enrich 处理器来追加实时数据。enrich 处理器最适合处理不经常更改的参考数据。
先决条件编辑
要使用 enrich 策略,您必须具备以下条件
-
对使用的任何索引具有
read
索引权限 enrich_user
内置角色
添加 enrich 数据编辑
首先,将文档添加到一个或多个源索引。这些文档应包含您最终要添加到传入数据的 enrich 数据。
创建 enrich 策略编辑
将 enrich 数据添加到源索引后,请使用创建 enrich 策略 API或Kibana 中的索引管理来创建 enrich 策略。
创建后,您将无法更新或更改 enrich 策略。请参阅更新 enrich 策略。
执行 enrich 策略编辑
创建 enrich 策略后,您需要使用执行 enrich 策略 API或Kibana 中的索引管理来执行它,以创建enrich 索引。
enrich 索引包含策略的源索引中的文档。enrich 索引始终以 .enrich-*
开头,是只读的,并且是强制合并的。
enrich 索引应仅由enrich 处理器或ES|QL ENRICH
命令使用。避免将 enrich 索引用于其他目的。
将 enrich 处理器添加到摄取管道编辑
在您拥有源索引、enrich 策略和相关的 enrich 索引后,您可以设置一个包含策略的 enrich 处理器的摄取管道。
使用创建或更新管道 API定义enrich 处理器并将其添加到摄取管道。
定义 enrich 处理器时,您必须至少包含以下内容
- 要使用的 enrich 策略。
- 用于将传入文档与 enrich 索引中的文档进行匹配的字段。
- 要添加到传入文档的目标字段。此目标字段包含 enrich 策略中指定的匹配字段和 enrich 字段。
您还可以使用 max_matches
选项来设置传入文档可以匹配的 enrich 文档的数量。如果设置为默认值 1
,则数据将作为 JSON 对象添加到传入文档的目标字段中。否则,数据将作为数组添加。
有关配置选项的完整列表,请参阅Enrich。
您还可以将其他处理器添加到您的摄取管道。
更新 enrich 索引编辑
创建后,您无法更新或索引 enrich 索引中的文档。而是更新您的源索引并再次执行 enrich 策略。这将从您更新的源索引创建一个新的 enrich 索引。之前的 enrich 索引将通过延迟维护作业删除。默认情况下,每 15 分钟执行一次。
更新 enrich 策略编辑
创建后,您将无法更新或更改 enrich 策略。您可以
- 创建并执行新的 enrich 策略。
- 在任何正在使用的 enrich 处理器或 ES|QL 查询中,将之前的 enrich 策略替换为新的 enrich 策略。
- 使用删除 enrich 策略 API 或Kibana 中的索引管理来删除之前的 enrich 策略。
Enrich 组件编辑
enrich 协调器是一个组件,用于管理和执行在每个摄取节点上丰富文档所需的搜索。它将所有管道中所有 enrich 处理器的搜索组合成批量多重搜索。
enrich 策略执行器是一个组件,用于管理所有 enrich 策略的执行。执行 enrich 策略时,此组件会创建一个新的 enrich 索引并删除之前的 enrich 索引。enrich 策略执行由选定的主节点管理。这些策略的执行发生在不同的节点上。
节点设置编辑
enrich
处理器具有 enrich 协调器和 enrich 策略执行器的节点设置。
enrich 协调器支持以下节点设置
enrich 策略执行器支持以下节点设置
-
enrich.fetch_size
- 将源索引重新索引到 enrich 索引时的最大批处理大小。默认为
10000
。 -
enrich.max_force_merge_attempts
- enrich 索引上允许的最大强制合并尝试次数。默认为
3
。 -
enrich.cleanup_period
- Elasticsearch 检查是否可以删除未使用的 enrich 索引的频率。默认为
15m
。 -
enrich.max_concurrent_policy_executions
- 要并发执行的最大 enrich 策略数。默认为
50
。