ElasticSearch:地理点聚类

ElasticSearch: geo point clustering

我在 ElasticSearch 索引中有一些包含地理点的行。现在,我搜索所有行,例如在5公里的半径范围内。结果是一个列表,其中包含与查询匹配的所有点。

是否可以在 ElasticSearch 中对结果进行聚类以获得所有“热点”?已经找到了elasticsearch的geo centroid aggregation function但是我要找的不是这个

我知道,可以使用 Mapbox 的 Supercluster 之类的库或类似的库来实现。但是 ElasticSearch 有可能吗?请看两张图片。第二张图显示了我想要得到的结果。干杯!

我没有使用过它,但我认为您需要一个地理哈希网格聚合。参见:https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-geohashgrid-aggregation.html

您应该能够改变精度,它会 return geo_hash 包含文档计数的桶。