通过地理坐标点过滤 | Elasticsearch: 权威指南 | Elastic
2024-12-24
geo_bounding_box
geo_distance
geo_distance_range
geo_polygon
这些过滤器判断点是否落在指定区域时的计算方法稍有不同,但过程类似。指定的区域被转换成一系列以quad/geohash为前缀的tokens,并被用来在倒排索引中搜索拥有相同tokens的文档。
地理坐标过滤器使用代价昂贵 — 所以最好在文档集合尽可能少的场景下使用。你可以先使用那些简单快捷的过滤器,比如 term
或 range
,来过滤掉尽可能多的文档,最后才交给地理坐标过滤器处理。
布尔型过滤器 bool
filter 会自动帮你做这件事。
它会优先让那些基于“bitset”的简单过滤器(见 关于缓存 )来过滤掉尽可能多的文档,然后依次才是更昂贵的地理坐标过滤器或者脚本类的过滤器。
官方地址:https://www.elastic.co/guide/cn/elasticsearch/guide/current/filter-by-geopoint.html