我必须在从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"
}
}
}
}
答案 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
}
}
}
}
}
}
}'
然后,您可以使用某些数据重新填充索引。