2016-06-08 57 views
0

我正在尝试查询带有空geo_point字段的文档的elasticsearch索引。该字段存在,但它是空白的(例如下面)。用于筛选string字段的查询不适用于geo_point字段。Elasticsearch:过滤具有空geo_point值的文档

文件:

"_source": { 
"latitudeLongitude": "", 
"pickupLocationZipcode": "", 
} 

查询过滤字符串字段的作品,但不geo_point领域:

{ 
    "query": { 
    "filtered": { 
     "filter": { 
     "term": { 
      "latitudeLongitude": "" 
     } 
     } 
    } 
    } 
} 

映射:

"latitudeLongitude": { 
    "type": "geo_point" 
} 
"pickupLocationZipcode": { 
    "index": "not_analyzed", 
    "type": "string", 
    "copy_to": [ 
     "pickup_location_zipcode" 
     ] 
} 

回答

0

可以使用missing query,这和它会找到你的文件

{ 
    "query": { 
    "filtered": { 
     "filter": { 
     "missing": { 
      "field": "latitudeLongitude", 
      "existence": false, 
      "null_value": true 
     } 
     } 
    } 
    } 
}