具有数组的Geopoint

时间:2018-08-06 17:40:37

标签: elasticsearch

我有一个DOC“公司”和一个TYPE“用户”。在“用户”内部有一个名为“位置”的字段,这是一个数组。每个位置都有一个名为“ point”的字段,该字段是GeoPoint,字符串为“ 40.748770,-73.985487”。我怎样才能得到这个点附近的点?

此示例显示的波纹管无法正常工作:

GET /company/user/_search
{
    "query": {
        "bool" : {
            "must" : {
                "match_all" : {}
            },
            "filter" : {
                "geo_distance" : {
                    "distance" : "500m",
                    "locations.point" : "40.748770, -73.985487"
                }
            }
        }
    }
}

1 个答案:

答案 0 :(得分:1)

下面的示例可能会对您有所帮助

GET /company/user/_search
{
  "query": {
    "filtered": {
      "filter": {
        "geo_distance": {
          "distance": "1km", 
          "location": { 
            "lat":  40.715,
            "lon": -73.988
          }
        }
      }
    }
  }
}