好吧,我有一个索引,上面有文档,其中具有地理位置作为双打数组。但是事实证明,经度和纬度的顺序错误,即,阵列就像 [lat, lon]
一样,而不是 [lon, lat]
。有什么方法可以在索引的所有文档上切换这些值,而无需重新重新创建它们?或将地理点的格式从数组更改为字符串,因此它们的数据变成"lat, lon"
?到目前为止,我发现的解决方案是再次重新创建整个数据集,在这种情况下,这非常耗时。
您可以使用查询API的更新来更新所有文档并交换坐标,例如:
POST your_index/_update_by_query
{
"script": {
"inline": "ctx._source.location = [ctx._source.location[1], ctx._source.location[0]]",
"lang": "painless"
},
"query": {
"match_all": {}
}
}