ElasticSearch: кластеризация географических точек - PullRequest
1 голос
/ 06 ноября 2019

У меня есть несколько строк с географическими точками в индексе ElasticSearch. Теперь я ищу все строки, например, в радиусе 5 километров. Результатом является список со всеми точками, соответствующими запросу. Можно ли кластеризовать результат в ElasticSearch, чтобы получить все «горячие точки»? Я уже нашел функцию агрегации геоцентроидов эластичного поиска, но это не то, что я ищу. Я знаю, что это можно сделать с помощью таких библиотек, как Supercluster от Mapbox или чего-то в этом роде. Но возможно ли это с ElasticSearch? пожалуйста, смотрите две фотографии. Вторая картинка показывает результат, который я хочу получить. Ура! enter image description hereenter image description here

1 Ответ

1 голос
/ 06 ноября 2019

Я не использовал его, но я думаю, что вам нужна агрегация гео-хеш-сетки. См .: https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-geohashgrid-aggregation.html

Вы должны иметь возможность изменять свою точность, и он будет возвращать сегменты geo_hash с количеством документов.

...