• <1> precision 字段设置的精度不能高于geohash精度映射时的设定。

    这个过滤器将坐标点转换成对应长度的geohash—本例中为dr5rsk—然后查找位于同一个组中的所有位置。

    为了修正这点,我们可以告诉过滤器,把周围的单元也包含进来。
    通过设置neighbors 参数为 true

    1. GET /attractions/restaurant/_search
    2. {
    3. "query": {
    4. "filtered": {
    5. "geohash_cell": {
    6. "location": {
    7. "lat": 40.718,
    8. "lon": -73.983
    9. },
    10. "neighbors": true, <1>
    11. }
    12. }
    13. }
    14. }
    • <1> 过滤器将会查找对应的geohash和包围它的(8个)geohash。

    这个过滤器有一个比地理盒模型过滤器()更好的优点,就是它支持一个字段中有多个坐标位置的情况。
    我们在设置优化盒模型过滤器( )讲过,设置 lat_lon 选项也是一个很有效的方式,
    但是它只对字段中的单个坐标点情况有效。