gpt4 book ai didi

elasticsearch - Elasticsearch 5.x 中地理距离查询的返回距离

转载 作者:行者123 更新时间:2023-11-29 02:54:33 25 4
gpt4 key购买 nike

我需要使用地理距离查询从 Elasticsearch 中搜索到的坐标获取距离。我试过了

curl -XGET 'http://127.0.0.1:9200/branch-master/master/_search?pretty=1'  -d '
{
"script_fields" : {
"distance" : {
"params" : {
"lat" : 18.00,
"lon" : 72.00
},
"script" : "doc[\u0027location\u0027].distanceInKm(lat,lon)"
}
}
}
'

这是从Return distance in elasticsearch results?得到的

但这给了我错误“[params] 中 start_object 的未知键”。我无法理解这是什么。上面的解决方案似乎适用于相当旧版本的 ES。我正在使用 ES 5.1。在手册中我找不到地理距离查询的相关解决方案。有人可以帮助我吗?

最佳答案

distanceInKm 方法已弃用,现在已删除 (5.x)。例如,使用 arcDistance 代替。更多信息:https://www.elastic.co/guide/en/elasticsearch/reference/current/breaking_50_scripting.html#_geopoint_scripts

语法略有改变。这适用于 Elasticsearch 5.6。

{
"script_fields": {
"geo_distance": {
"script": {
"params": {
"lat": 18.00,
"lon": 72.00
},
"inline": "doc['location'].arcDistance(params.lat, params.lon)"
}
}
}
}

关于elasticsearch - Elasticsearch 5.x 中地理距离查询的返回距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44332211/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com