设置丰富处理器

编辑

要设置丰富处理器,请按照以下步骤操作

设置好丰富处理器后,您可以更新您的丰富数据更新您的丰富策略

丰富处理器执行多个操作,可能会影响您的 Ingest 管道的速度。

我们强烈建议在生产环境中部署之前测试和基准测试您的丰富处理器。

我们不建议使用丰富处理器来附加实时数据。丰富处理器最适用于不经常更改的参考数据。

先决条件

编辑

要使用丰富策略,您必须具有

  • 任何使用的索引的read索引权限
  • enrich_user内置角色

添加丰富数据

编辑

首先,将文档添加到一个或多个源索引。这些文档应包含您最终想要添加到传入数据的丰富数据。

您可以使用文档索引 API 来管理源索引,就像管理常规 Elasticsearch 索引一样。

您还可以设置Beats,例如Filebeat,以自动将文档发送和索引到您的源索引。请参阅Beats 入门

创建丰富策略

编辑

在将丰富数据添加到源索引后,使用创建丰富策略 APIKibana 中的索引管理来创建丰富策略。

创建后,您无法更新或更改丰富策略。请参阅更新丰富策略

执行丰富策略

编辑

创建丰富策略后,您需要使用执行丰富策略 APIKibana 中的索引管理来执行它,以创建丰富索引

enrich policy index

丰富索引包含来自策略源索引的文档。丰富索引始终以.enrich-*开头,是只读的,并且是强制合并的。

丰富索引应仅由丰富处理器ES|QL ENRICH命令使用。避免将丰富索引用于其他目的。

向 Ingest 管道添加丰富处理器

编辑

拥有源索引、丰富策略和相关的丰富索引后,您可以设置一个 Ingest 管道,其中包括用于您的策略的丰富处理器。

enrich processor

定义一个丰富处理器,并使用创建或更新管道 API将其添加到 Ingest 管道。

在定义丰富处理器时,您必须至少包含以下内容

  • 要使用的丰富策略。
  • 用于将传入文档与丰富索引中的文档匹配的字段。
  • 要添加到传入文档的目标字段。此目标字段包含您的丰富策略中指定的匹配字段和丰富字段。

您还可以使用max_matches选项来设置传入文档可以匹配的丰富文档的数量。如果设置为默认值1,则数据将作为 JSON 对象添加到传入文档的目标字段。否则,数据将作为数组添加。

有关配置选项的完整列表,请参阅丰富

您还可以向 Ingest 管道添加其他处理器

摄取和丰富文档

编辑

您现在可以使用您的 Ingest 管道来丰富和索引文档。

enrich process

在生产环境中实施管道之前,我们建议先索引一些测试文档,并使用get API验证是否正确添加了丰富数据。

更新丰富索引

编辑

创建后,您无法更新丰富索引或向其索引文档。相反,请更新您的源索引并再次执行丰富策略。这将从您更新的源索引创建一个新的丰富索引。之前的丰富索引将通过延迟维护作业删除。默认情况下,此操作每 15 分钟执行一次。

如果需要,您可以使用您的 Ingest 管道重新索引更新任何已摄取的文档。

更新丰富策略

编辑

创建后,您无法更新或更改丰富策略。相反,您可以

  1. 创建并执行新的丰富策略。
  2. 在任何正在使用的丰富处理器或 ES|QL 查询中,将之前的丰富策略替换为新的丰富策略。
  3. 使用删除丰富策略 API 或Kibana 中的索引管理来删除之前的丰富策略。

丰富组件

编辑

丰富协调器是一个组件,负责管理和执行在每个 Ingest 节点上丰富文档所需的搜索。它将所有管道中所有丰富处理器的搜索合并为批量多重搜索

丰富策略执行器是一个组件,负责管理所有丰富策略的执行。执行丰富策略时,此组件会创建新的丰富索引并删除之前的丰富索引。丰富策略的执行由选定的主节点管理。这些策略的执行在不同的节点上进行。

节点设置

编辑

enrich处理器具有丰富协调器和丰富策略执行器的节点设置。

丰富协调器支持以下节点设置

enrich.cache_size
缓存用于丰富文档的搜索的最大缓存大小。大小可以使用三个单位指定:缓存搜索的原始数量(例如,1000),以字节为单位的绝对大小(例如,100Mb),或节点最大堆空间的百分比(例如,1%)。对于绝对字节大小和堆空间的百分比,Elasticsearch 不能保证丰富缓存大小将完全符合该最大值,因为 Elasticsearch 使用序列化搜索响应的字节大小,这很好地表示了堆上使用的空间,但不是完全匹配。默认为1%。集群中的所有丰富处理器只有一个缓存。
enrich.coordinator_proxy.max_concurrent_requests
丰富文档时要运行的最大并发多重搜索请求数。默认为8
enrich.coordinator_proxy.max_lookups_per_request
丰富文档时要在多重搜索请求中包含的最大搜索数。默认为128

丰富策略执行器支持以下节点设置

enrich.fetch_size
将源索引重新索引到丰富索引时的最大批处理大小。默认为10000
enrich.max_force_merge_attempts
丰富索引上允许的最大强制合并尝试次数。默认为3
enrich.cleanup_period
Elasticsearch 检查是否可以删除未使用的丰富索引的频率。默认为15m
enrich.max_concurrent_policy_executions
要并发执行的最大丰富策略数。默认为50