elasticsearch – 弹性搜索将geohash_grid键转换为lat lon

在elasticsearch中使用geohash_grid aggs返回以下结果:

"aggregations": {
  "Geo-hash": {
     "buckets": [
        {
           "key": "gcw05r6xz7cb",
           "doc_count": 305
        },
        {
           "key": "gcw2hzkpf7b8",
           "doc_count": 12
        }
     ]
  }

}

1)键代表细胞的中心点?

2)如何将此密钥转换为lat lon? – 我发现有些插件可以避免使用插件(不支持所有版本,需要维护等)并直接从elasticsearch查询地理字体?

最佳答案 回答你的问题:

>键中的地理位置代表一个区域.有关geohashes的更多详细信息,请阅读此内容:
https://www.elastic.co/guide/en/elasticsearch/guide/current/geohashes.html
>从本弹性搜索文档中关于geohash网格聚合的最后一节,您需要一个库将geohash转换为等效的边界框或中心点.
https://www.elastic.co/guide/en/elasticsearch/guide/current/geohash-grid-agg.html#geohash-grid-agg

您可以探索Geo Bounds Aggregation来执行类似的工作,但我更喜欢在客户端进行转换.

点赞