Elasticsearch在点类型地理形状上的地理距离过滤器

时间:2015-06-19 10:47:41

标签: elasticsearch

所以我的文档(帖子)中有一个位置字段。此位置字段是地理形状。它可以是一个点或多边形。有时我可能不得不使用地理距离过滤器来标记最接近某个坐标的帖子(只有point类型地理形状而不是多边形的帖子)。但是,在尝试使用geo_distance过滤器时,我遇到了以下错误。

... nested: QueryParsingException[[naya] failed to find geo_point field [location]]; }] ...',

有没有办法在point类型的地理位置形状上使用geo_distance过滤器?

1 个答案:

答案 0 :(得分:1)

您可以使用以下内容:

{
  "query": {
    "geo_shape": {
      "location": {
        "shape": {
          "type": "circle",
          "radius": "100km",
          "coordinates": [ 
            77,
            28
          ]
        }
      }
    }
  }
}

您可以使用要运行地理距离查询的中心坐标。使用具有指定半径的圆形形状。 它匹配任何相交的形状以及您在查询中提供的形状内的任何地理点。