是否可以通过Elasticsearch中的映射更新索引中的现有字段?

时间:2016-11-01 04:36:47

标签: elasticsearch put elastic-stack elasticsearch-5

我已经创建了一个索引,它包含来自MySQL数据库的数据。我的表格中string字段很少,我需要integer中的不同类型(double& Elasticsearch)。

所以我知道我可以通过mapping执行以下操作:

{
  "mappings": {
    "my_type": {
      "properties": {
        "userid": {
          "type": "text",
          "fielddata": true
        },
        "responsecode": {
          "type": "integer"
        },
        "chargeamount": {
          "type": "double"
        }
      }
    }
  }
} 

但是当我将索引创建为新索引时,我已尝试过这种方法。我想知道的是如何使用chargeamount作为mapping更新现有字段(即:PUT在此方案中)?

这可能吗?任何帮助都可以得到赞赏。

1 个答案:

答案 0 :(得分:3)

创建映射类型后,您对可以更新的内容非常不满意。根据{{​​3}},您在创建现有映射后可以进行的唯一更改如下,但更改字段的类型不是其中之一:

  

通常,无法更新现有字段的映射。那里   是这个规则的一些例外。例如:

     
      
  • 可以将新属性添加到Object数据类型字段中。
  •   
  • 可以将新的多字段添加到现有字段中。
  •   
  • doc_values可以被禁用,但不能启用。
  •   
  • 可以更新ignore_above参数。
  •