摄取处理器参考
编辑摄取处理器参考编辑
一个 摄取管道 由一系列处理器组成,这些处理器在文档被摄取到索引时应用于文档。每个处理器执行一项特定任务,例如过滤、转换或丰富数据。
每个后续处理器都依赖于前一个处理器的输出,因此处理器的顺序很重要。在应用所有处理器后,修改后的文档将被索引到 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
处理器 - 通过预处理摄取,将当前经过身份验证的用户相关的详细信息(例如
username
、roles
、email
、full_name
、metadata
、api_key
、realm
和authentication_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