【发布时间】:2016-02-08 09:58:05
【问题描述】:
我有一个项目使用户能够使用 Elasticsearch 搜索 POI,并且他们可以按许多不同的属性(包括位置)进行过滤。我想为所有过滤器添加分面,其中大部分是分面完美的分类变量。但是,我也希望用户能够按位置/城市/都会区进行分类。每个位置当前都是经纬度对。
根据我的研究,似乎最好的方法是使用 lat/long 对的 k-means 聚类来获得最常见的分面位置分组。一旦我有了这些分组,我想提供该地区最常见的名称(例如,即使“布鲁克林”是集群的中心,我也想提供名称“纽约市”)。
(a) 可以在 Elasticsearch 中进行地理聚类(k-means 或任何其他方式)以允许按位置进行分面吗?如果是这样,怎么做?如果没有,这可以在 Postgres 中完成吗? (b) 我如何确保我为集群返回的任何给定区域提供最广为人知的政治名称?
【问题讨论】:
-
两者都不擅长聚类。 k-means 也是一个相当糟糕的选择。 (你如何设置 k,并防止它直接穿过布鲁克林?)
-
@Anony-Mousse,显然我不是这方面的专家。你会推荐什么方法?
标签: elasticsearch geolocation grouping geocode