摄取处理器参考
编辑摄取处理器参考
编辑一个摄取管道由一系列处理器组成,这些处理器在文档摄取到索引时应用于文档。每个处理器执行特定的任务,例如过滤、转换或丰富数据。
每个后续处理器都依赖于前一个处理器的输出,因此处理器的顺序非常重要。修改后的文档在所有处理器应用后被索引到 Elasticsearch 中。
Elasticsearch 包括 40 多个可配置的处理器。本节中的子页面包含每个处理器的参考文档。要获取可用处理器的列表,请使用节点信息 API。
resp = client.nodes.info( node_id="ingest", filter_path="nodes.*.ingest.processors", ) print(resp)
response = client.nodes.info( node_id: 'ingest', filter_path: 'nodes.*.ingest.processors' ) puts response
const response = await client.nodes.info({ node_id: "ingest", filter_path: "nodes.*.ingest.processors", }); console.log(response);
GET _nodes/ingest?filter_path=nodes.*.ingest.processors
按类别划分的摄取处理器
编辑我们在此页面上对可用的处理器进行了分类并总结了它们的功能。这将帮助您找到适合您用例的处理器。
数据丰富处理器
编辑通用结果
编辑-
append
处理器 - 将值追加到字段。
-
date_index_name
处理器 - 根据日期或时间戳字段将文档指向正确的时间索引。
-
enrich
处理器 - 使用来自另一个索引的数据丰富文档。
有关如何使用enrich
处理器在摄取期间将现有索引中的数据添加到传入文档的详细示例,请参阅丰富您的数据。
-
inference
处理器 - 使用机器学习对文本字段进行分类和标记。
特定结果
编辑-
attachment
处理器 - 解析和索引二进制数据,例如 PDF 和 Word 文档。
-
circle
处理器 - 将位置字段转换为 Geo-Point 字段。
-
community_id
处理器 - 计算网络流数据的 Community ID。
-
fingerprint
处理器 - 计算文档内容的哈希值。
-
geo_grid
处理器 - 将网格瓦片或单元格的地理网格定义转换为描述其形状的常规边界框或多边形。
-
geoip
处理器 - 从 Maxmind 数据库添加有关 IPv4 或 IPv6 地址的地理位置信息。
-
ip_location
处理器 - 从 IP 地理位置数据库添加有关 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
处理器 - 将文档重新路由到另一个目标索引或数据流。
-
terminate
处理器 - 终止当前摄取管道,导致不再运行其他处理器。
数组/JSON 处理处理器
编辑-
for_each
处理器 - 在数组或对象的每个元素上运行摄取处理器。
-
json
处理器 - 将 JSON 字符串转换为结构化的 JSON 对象。
-
script
处理器 - 在传入文档上运行内联或存储的脚本。该脚本在painless
ingest
上下文中运行。 -
sort
处理器 - 按升序或降序对数组的元素进行排序。
添加其他处理器
编辑您可以将其他处理器作为插件安装。
您必须在集群中的所有节点上安装任何插件处理器。否则,Elasticsearch 将无法创建包含该处理器的管道。
通过在 elasticsearch.yml
中设置 plugin.mandatory
将插件标记为强制插件。如果未安装强制插件,节点将无法启动。
plugin.mandatory: my-ingest-plugin