我想将 geoip 的旧数据重新索引到地理点。
以前的数据包含这种格式的位置。
"geoip": {
"location": {
"lon": 67.0703,
"lat": 24.9206
}
}
我想像这样在数组中重新索引地理点中的位置
"geoip": {
"location": [lon, lat]
}
这是映射
PUT logs-audit-geopoint/_mapping/doc
{
"properties": {
"json":{
"properties": {
"geoip":{
"properties":{
"location": {
"type": "geo_point"
}
}
}
}
}
}
}
这是我执行重新索引的请求。
POST _reindex
{
"source": {
"index": "logs-audit"
},
"dest": {
"index": "logs-audit-geopoint"
},
"script": {
"source": "def geoip = ctx._source.json.geoip; if(geoip != null) { geoip.location = [geoip.longitude, geoip.latitude]; }",
"lang": "painless"
}
}
质疑 它不会覆盖位置:{} 到位置:[]