ElasticSearch:比较文档中的两个地理位置

时间:2017-04-06 18:16:21

标签: elasticsearch geopoints

考虑到以下文档,我想仅查询当前位置在目标位置1英里范围内的文档。

{
  current_location: {
      lat: 34.0583,
      lon: -118.2476
  },
  destination_location: {
    lat: 33.989521,
    lon: -117.531614
 }

}

1 个答案:

答案 0 :(得分:0)

使用该地理距离过滤器:

{
   "query": {
        "filtered": {
            "filter": {
                "geo_distance": {
                    "distance": "1.6km",
                    "destination_location": "34.05,-118.24"
                }
            }
        }
   }
}

34.05是纬度,( - 118.24)是经度。

1英里= 1.6公里