将现有 field(字段)的 value(值)converts(转换)为 different type(不同的类型),例如将 string 转换为 integer。如果字段的值是 array(数组),则会转换所有的成员。
所支持的 type(类型)包括 : integer,float,string,boolean,和 auto。
指定的类型为 boolean 的情况下,如果该字段的 string value(字符串值)与 true 相等(忽略大小写),则将该 field(字段)设置为 true。如果该字段的 string value(字符串值)与 false 相等(忽略大小写),则将该 field(字段)设置为 false,否则将抛出 exception(异常)。
执行的类型为 auto 的情况下,将会尝试将 string-valued(字符串值类型的)field(字段)转换为最接近的 non-string type(非字符串类型)。例如,字段值为 “true” 的情况下将会被转换为相应的 boolean type(布尔类型): true。如果字段的值为 “242.15”,将会被自动转换为 242.15 的 float 类型。如果所提供的 field(字段)不能被正确的转换,则 Convert processor 仍将会成功的处理,并按原样保留字段值。在这种情况下,target_field 仍将使用未转换的字段值更新。
Name(名称) | Required(必要的) | Default(默认值) | Description(描述) |
---|---|---|---|
field |
yes | - | 将要转换其值的 field(字段)。 |
target_field |
no | field |
指定转换结果的 field(字段),默认情况下更新到原来的 field 上。 |
type |
yes | - | 转换现有值的 type。 |
ignore_missing |
no | false |
如果为 true 的情况下,并且该 field 不存在或者是 null,则该 processor(处理器)将静默退出而不修改文档。 |
{
"convert": {
"field" : "foo",
"type": "integer"
}
}