摄取处理器参考编辑

一个 摄取管道 由一系列处理器组成,这些处理器在文档被摄取到索引时应用于文档。每个处理器执行一项特定任务,例如过滤、转换或丰富数据。

每个后续处理器都依赖于前一个处理器的输出,因此处理器的顺序很重要。在应用所有处理器后,修改后的文档将被索引到 Elasticsearch 中。

Elasticsearch 包含超过 40 个可配置的处理器。本节中的子页面包含每个处理器的参考文档。要获取可用处理器的列表,请使用 节点信息 API。

response = client.nodes.info(
  node_id: 'ingest',
  filter_path: 'nodes.*.ingest.processors'
)
puts response
GET _nodes/ingest?filter_path=nodes.*.ingest.processors

按类别分类的摄取处理器编辑

我们在本页上对可用的处理器进行了分类,并总结了它们的功能。这将帮助您找到适合您的用例的处理器。

数据丰富处理器编辑

一般结果编辑

append 处理器
将值追加到字段。
date_index_name 处理器
根据日期或时间戳字段将文档指向正确的基于时间的索引。
enrich 处理器
使用来自另一个索引的数据丰富文档。

有关如何使用 enrich 处理器在摄取过程中将来自现有索引的数据添加到传入文档的详细示例,请参阅 丰富您的数据

inference 处理器
使用机器学习对文本字段进行分类和标记。

特定结果编辑

attachment 处理器
解析和索引二进制数据,例如 PDF 和 Word 文档。
circle 处理器
将位置字段转换为 Geo-Point 字段。
community_id 处理器
计算网络流量数据的社区 ID。
fingerprint 处理器
计算文档内容的哈希值。
geo_grid 处理器
将网格图块或单元格的网格图定义转换为描述其形状的常规边界框或多边形。
geoip 处理器
添加有关 IPv4 或 IPv6 地址的地理位置的信息。
network_direction 处理器
根据源 IP 地址、目标 IP 地址和内部网络列表计算网络方向。
registered_domain 处理器
从完全限定域名 (FQDN) 中提取注册域名(也称为有效顶级域名或 eTLD)、子域名和顶级域名。
set_security_user 处理器
通过预处理摄取,将当前经过身份验证的用户相关的详细信息(例如 usernamerolesemailfull_namemetadataapi_keyrealmauthentication_type)从当前经过身份验证的用户设置到当前文档。
uri_parts 处理器
解析统一资源标识符 (URI) 字符串并将其组件提取为对象。
urldecode 处理器
对字符串进行 URL 解码。
user_agent 处理器
解析用户代理字符串以提取有关 Web 客户端的信息。

数据转换处理器编辑

一般结果编辑

convert 处理器
将当前摄取文档中的字段转换为不同的类型,例如将字符串转换为整数。
dissect 处理器
从文档中的单个文本字段中提取结构化字段。与 grok 处理器 不同,dissect 不使用正则表达式。这使得 dissect 成为更简单且通常更快的替代方案。
grok 处理器
使用支持可重用别名表达式的 Grok 正则表达式方言,从文档中的单个文本字段中提取结构化字段。
gsub 处理器
通过应用正则表达式和替换来转换字符串字段。
redact 处理器
使用 Grok 规则引擎来模糊输入文档中与给定 Grok 模式匹配的文本。
rename 处理器
重命名现有字段。
set 处理器
在字段上设置值。

特定结果编辑

bytes 处理器
将人类可读的字节值转换为其以字节为单位的值(例如 1kb 变成 1024)。
csv 处理器
从文本字段中提取一行 CSV 数据。
date 处理器
提取和转换日期字段。
dot_expand 处理器
将带有点的字段扩展为对象字段。
html_strip 处理器
从字段中删除 HTML 标记。
join 处理器
使用每个元素之间的分隔符字符将数组的每个元素连接成单个字符串。
kv 处理器
解析包含键值对的消息(或特定事件字段)。
lowercase 处理器uppercase 处理器
将字符串字段转换为小写或大写。
split 处理器
将字段拆分为一个值数组。
trim 处理器
从字段中修剪空白。

数据过滤处理器编辑

drop 处理器
删除文档,不引发任何错误。
remove 处理器
从文档中删除字段。

管道处理处理器编辑

fail 处理器
引发异常。当您希望管道失败并希望向请求者传递特定消息时很有用。
pipeline 处理器
执行另一个管道。
reroute 处理器
将文档重新路由到另一个目标索引或数据流。

数组/JSON 处理处理器编辑

for_each 处理器
对数组或对象的每个元素运行摄取处理器。
json 处理器
将 JSON 字符串转换为结构化的 JSON 对象。
script 处理器
在传入文档上运行内联或存储的 脚本。该脚本在 painless ingest 上下文 中运行。
sort 处理器
按升序或降序对数组的元素进行排序。

添加其他处理器编辑

您可以将其他处理器安装为 插件

您必须在集群中的所有节点上安装任何插件处理器。否则,Elasticsearch 将无法创建包含该处理器的管道。

通过在 elasticsearch.yml 中设置 plugin.mandatory 来将插件标记为必需。如果未安装必需的插件,则节点将无法启动。

plugin.mandatory: my-ingest-plugin