地理多边形查询
编辑地理多边形查询编辑
在 7.12 中已弃用。
使用 地理形状 代替,其中多边形在 GeoJSON 或 Well-Known Text (WKT) 中定义。
一个查询,返回仅落在点多边形内的命中结果。以下是一个示例
GET /_search { "query": { "bool": { "must": { "match_all": {} }, "filter": { "geo_polygon": { "person.location": { "points": [ { "lat": 40, "lon": -70 }, { "lat": 30, "lon": -80 }, { "lat": 20, "lon": -90 } ] } } } } } }
查询选项编辑
选项 | 描述 |
---|---|
|
用于标识过滤器的可选名称字段 |
|
设置为 |
允许的格式编辑
纬度经度作为数组编辑
格式为 [lon, lat]
注意:此处经度/纬度的顺序必须符合 GeoJSON。
GET /_search { "query": { "bool": { "must": { "match_all": {} }, "filter": { "geo_polygon": { "person.location": { "points": [ [ -70, 40 ], [ -80, 30 ], [ -90, 20 ] ] } } } } } }
纬度经度作为字符串编辑
格式为 lat,lon
。
GET /_search { "query": { "bool": { "must": { "match_all": {} }, "filter": { "geo_polygon": { "person.location": { "points": [ "40, -70", "30, -80", "20, -90" ] } } } } } }
Geohash编辑
GET /_search { "query": { "bool": { "must": { "match_all": {} }, "filter": { "geo_polygon": { "person.location": { "points": [ "drn5x1g8cu2y", "30, -80", "20, -90" ] } } } } } }
geo_point
类型编辑
查询 需要 在相关字段上设置 geo_point
类型。
忽略未映射编辑
当设置为 true
时,ignore_unmapped
选项将忽略未映射的字段,并且不会匹配此查询的任何文档。这在查询可能具有不同映射的多个索引时很有用。当设置为 false
(默认值)时,如果字段未映射,查询将抛出异常。