如何使用Elasticsearch地理查询获得给定地理点的最近位置(地理点)



我有一组在Elasticsearch索引的位置(地理点)。有人可以建议一种方法来获得最近的地理点到一个给定的地理点使用elasticsearch地理查询。我已经尝试过使用地理距离查询,但是它需要我提供距离来指定以指定位置为中心的圆的半径。我正在寻找一种替代解决方案,可以返回最近的位置,而不管距离。欢迎提出建议。

最好的方法是利用距离排序并检索最近的地理位置:

GET my-index/_search
{
"size": 1,                                <--- return top 1
"sort" : [
{
"_geo_distance" : {
"location-field" : [-70, 40],     <--- center location
"order" : "asc",                  <--- sorted by closest distance
"unit" : "km",
"mode" : "min",
"distance_type" : "arc",
"ignore_unmapped": true
}
}
],
"query" : {
"match_all" : {}
}
}