0

我目前有一个 ES 查询来查找最接近纬度/经度的位置:

GET /geo/_search
{
    "sort": [
        {
            "_geo_distance": {
                "geometry": {
                    "lat": 64,
                    "lon": 34
                },
                "order": "asc",
                "unit": "mi",
                "distance_type": "plane"
            }
        }
    ],
    "size": 1
}

我希望能够在 1 个查询中针对多个纬度/经度运行此操作,这将返回与其最近位置相关的每个纬度/经度。有没有办法做到这一点?

4

1 回答 1

0
GET /geo/_search
{
"sort": [
    {
        "_geo_distance": {
            "geometry": [
                {
                    "lat": 64,
                    "lon": 34
                },
                {
                    "lat": 0,
                    "lon": 0
                }
            ],
            "order": "asc",
            "unit": "mi",
            "distance_type": "plane"
        }
    }
],
"size": 1
}

这个答案为每个 geo_point 提供了一个以上的点。我认为您不能在一次查询中仅检索每个 geo_point 的前一个。您可能需要过滤结果或为每个 geo_point 使用一个循环

于 2017-05-04T15:43:49.047 回答