🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# Convert Processor(转换处理器) 原文链接 : [https://www.elastic.co/guide/en/elasticsearch/reference/5.3/convert-processor.html](https://www.elastic.co/guide/en/elasticsearch/reference/5.3/convert-processor.html) 译文链接 : [http://www.apache.wiki/pages/viewpage.action?pageId=9406810](http://www.apache.wiki/pages/viewpage.action?pageId=9406810) 贡献者 : [那伊抹微笑](/display/~wangyangting),[ApacheCN](/display/~apachecn),[Apache中文网](/display/~apachechina) 将现有 **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 **仍将使用未转换的字段值更新。 ## Table 15. Convert Options(表 15\. 转换选项) | 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" } } ```