嵌套的GeoDistance查询不会返回结果

时间:2018-10-07 20:32:44

标签: elasticsearch

我有以下映射

mapping = """
{
"settings": {      
  "analysis": {
    "analyzer" : "stop",
    "normalizer": {
      "lowercase_normalizer": {
        "type": "custom",
        "char_filter": [],
        "filter": ["lowercase"]
      }
    }     
  }
},
"mappings": {
    "document": {
        "properties": {
            "postal_codes" : {
                "type" : "nested",
                "properties" : {
                    "location": {
                        "type": "geo_point"
                    }
                }
            }
        }
    }
        }
}
"""

但是当我运行以下嵌套地理距离查询时,它不返回任何匹配项:

GET /testing/_search
{
  "query": { 
    "bool": { 
      "must": {
        "match_all" : {} 
      },
      "filter": {
         "geo_distance" : {
            "distance" : "1000km",
            "postal_codes.location": {
                "lat" : 43.5034,
                "lon" : -79.8773
            }
          }
      }
    }
  }
}

我知道查询应该返回一个结果,因为我将距离设置为1000KM,而且还在索引中输入了现有文档的精确坐标(纬度/经度)。 ES也不会在运行此查询时返回任何错误-不会返回任何匹配。

此外,具有不同映射关系的类似查询也可以正常工作……但是当我像上面那样嵌套数据时,也就是当它停止返回任何结果时。我在做什么错?

0 个答案:

没有答案