加载中

设置富化处理器

要设置丰富处理器,请遵循以下步骤

  1. 检查先决条件
  2. 添加丰富数据.
  3. 创建丰富策略.
  4. 执行丰富策略.
  5. 将丰富处理器添加到采集管道.
  6. 采集并丰富文档.

一旦设置好丰富处理器,您就可以更新丰富数据更新丰富策略

重要提示

丰富处理器会执行多项操作,并可能影响采集管道的速度。我们建议使用节点角色(node roles)将采集和数据角色共置,以最大限度地减少远程搜索操作。

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

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

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

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

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

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

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

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

警告

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

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

enrich policy index

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

警告

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

一旦您有了源索引、丰富策略和相关的丰富索引,就可以设置包含该策略的丰富处理器的采集管道。

enrich processor

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

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

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

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

有关配置选项的完整列表,请参阅“Enrich”。

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

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

enrich process

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

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

如果需要,您可以使用您的采集管道重新索引(reindex)更新(update)任何已采集的文档。

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

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

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

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

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

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

enrich.cache_size

缓存用于丰富文档的搜索结果的缓存的最大大小。您可以指定三种单位:

  • 缓存搜索的原始数量,例如 1000
  • 绝对字节大小,例如 100Mb
  • 节点最大堆空间的百分比,例如 1%

如果您指定绝对字节大小或堆百分比,Elasticsearch 不保证缓存完全保持在配置的最大值内。缓存大小是使用序列化搜索响应的字节大小来测量的,这是实际堆使用量的良好近似值,但不完全精确。集群中所有丰富处理器共用一个缓存。默认值为 1%

enrich.coordinator_proxy.max_concurrent_requests
丰富文档时要运行的并发多重搜索请求的最大数量。默认值为 8
enrich.coordinator_proxy.max_lookups_per_request
丰富文档时要在多重搜索请求中包含的搜索最大数量。默认值为 128
enrich.coordinator_proxy.queue_capacity
协调器在等待运行丰富查找时可以排队的最大数量。当队列已满时,Elasticsearch 会拒绝新的丰富请求并返回 HTTP 429 错误。如果突发的采集流量导致 429 错误,请增加此值,以便节点可以缓冲更多的查找。较大的队列会占用更多内存。默认值为 max_concurrent_requests * max_lookups_per_request

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

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

同时运行的丰富策略的最大数量。默认值为 50

© . This website operates independently and is not affiliated with or endorsed by Elasticsearch B.V. All brand names, logos, and trademarks are the property of their respective owners.