转换处理器
编辑转换处理器编辑
将当前摄取文档中的字段转换为不同的类型,例如将字符串转换为整数。如果字段值是数组,则所有成员都将被转换。
支持的类型包括:integer
、long
、float
、double
、string
、boolean
、ip
和 auto
。
指定 boolean
将在字符串值等于 true
(忽略大小写)时将字段设置为 true,在字符串值等于 false
(忽略大小写)时设置为 false,否则将抛出异常。
指定 ip
将在 field
包含可以索引到 IP 字段类型 中的有效 IPv4 或 IPv6 地址时,将目标字段设置为 field
的值。
指定 auto
将尝试将字符串值的 field
转换为最接近的非字符串、非 IP 类型。例如,值为 "true"
的字段将转换为其相应的布尔类型:true
。请注意,在 auto
中,float 优先于 double。值为 "242.15"
将“自动”转换为类型为 float
的 242.15
。如果提供的字段无法适当地转换,处理器仍将成功处理并将字段值保留原样。在这种情况下,target_field
将使用未转换的字段值进行更新。
表 9. 转换选项
名称 | 必需 | 默认值 | 描述 |
---|---|---|---|
|
是 |
- |
要转换其值的字段 |
|
否 |
|
要将转换后的值分配到的字段,默认情况下 |
|
是 |
- |
要将现有值转换成的类型 |
|
否 |
|
如果 |
|
否 |
- |
处理器的描述。用于描述处理器的目的或其配置。 |
|
否 |
- |
有条件地执行处理器。请参阅 有条件地运行处理器。 |
|
否 |
|
忽略处理器的失败。请参阅 处理管道失败。 |
|
否 |
- |
处理处理器的失败。请参阅 处理管道失败。 |
|
否 |
- |
处理器的标识符。用于调试和指标。 |
PUT _ingest/pipeline/my-pipeline-id { "description": "converts the content of the id field to an integer", "processors" : [ { "convert" : { "field" : "id", "type": "integer" } } ] }