无法使用地理多边形过滤器查询geo_point

时间:2014-12-12 19:59:58

标签: filter elasticsearch polygon geo geopoints

您好我正在尝试使用官方文档中的查询语法 geo polygon filter 在ElasticSearch中查询geo_point,但不会返回任何reusult。 geo pologon filter no result

以下是一些细节: 我使用river plugin将MySQL中的数据索引到ES中,并定义了映射(嵌套结构但是coordinate.value是geo_point)。

geo_point mapping definition

我可以看到head plugin中的文件:

ElasticSearch document

查询json是:

{
  "query": {
    "filtered": {
      "query": {
        "match_all": {}
      },
      "filter": {
        "geo_polygon": {
          "coordinate.value": {
            "points": [
              [
                -180,
                90
              ],
              [
                -180,
                -90
              ],
              [
                180,
                -90
              ],
              [
                -180,
                90
              ]
            ]
          }
        }
      }
    }
  }
}

有谁能告诉我,获取geo_point的正确查询方法是什么?感谢

1 个答案:

答案 0 :(得分:1)

应该关闭

多边形(即第一个和最后一个点应该相同)。