更改映射字段类型elasticsearch 1.7

时间:2016-03-04 15:22:07

标签: elasticsearch elasticsearch-plugin

我必须在从string到float的映射中更改price字段的类型。 当我在尝试这个时

curl -XPUT http://52.73.2.239:9200/products/_mapping/product -d '{ "properties":{ "productOnly.price":{ "type" : "float" } } }' 但没有变化。 这是我的数据的映射

"properties" : { //I some props and other objects. productOnly is nested object "productOnly" : { "properties" : { "bonus" : { "type" : "string" }, "price" : { "type" : "string" } } } }

1 个答案:

答案 0 :(得分:1)

创建映射后,您cannot change it(您可以但仅限于上一个链接中解释的非常特殊情况)。

所以你要做的就是删除你的索引......

curl -XDELETE http://52.73.2.239:9200/products

...并使用正确的映射重新创建它:

curl -XPUT http://52.73.2.239:9200/products -d '{
  "mappings": {
    "product": {
      "properties": {
        ... other properties...
        "productOnly": {
          "properties": {
            "bonus": {
              "type": "string"
            },
            "price": {
              "type": "float"         <--- chance the type here
            }
          }
        }
      }
    }
  }
}'

然后,您可以使用某些数据重新填充索引。