ElasticSearch搜索从地理位置创建的圆内的地理位置

时间:2019-01-11 06:54:56

标签: elasticsearch

我已经浏览了文档并搜索了google,但找不到所需的答案。我要做的就是从地理位置创建的圆圈内的搜索点

GET /pointsinradius/_doc/_search
{
"query": {
"geo_shape": {
  "location": { 
    "shape": { 
      "type":   "circle", 
      "radius": "1km",
      "coordinates": [ 
    -32.360738, 22.56237
      ]
    }
  }
}
}
}

1 个答案:

答案 0 :(得分:1)

您需要使用geo_distance查询

这是一个例子

GET /my_locations/_search
{
    "query": {
        "bool" : {
            "must" : {
                "match_all" : {}
            },
            "filter" : {
                "geo_distance" : {
                    "distance" : "200km",
                    "pin.location" : {
                        "lat" : 40,
                        "lon" : -70
                    }
                }
            }
        }
    }
}