ElasticSearch:试图获取城市,距离纬度/经度的距离,并按原点距离进行排序

时间:2014-02-11 16:46:45

标签: elasticsearch geocoding

我所拥有的是具有IP范围的数据集,并且具有每个IP范围的城市,州,邮政编码,纬度,经度。

我想要的是城市,最接近给定纬度/经度的州值。所以,如果这是SQL,我会按城市,州进行分组。我如何在ElasticSearch中执行此操作?我一直在尝试使用方面,但我要么在数据库中获得所有城市,州值(通过术语方面),要么最终得不到城市,州值。

请注意,我确实有一个单独编入索引的字段,其中包含单个索引的not_analyzed字段中的城市和州。

我也不确定在哪里进行地理距离检查。我尝试过使用Query,Filter和filter facet。我现在基本上处于亏损状态。不确定我是不是已经盯着它看太久或者是什么。

编辑:所以,我已经使用聚合(在1.0中添加)来解决这个问题,但是我希望公开最小距离,以便我可以按照每个桶的最小地理距离对这些聚合桶进行排序。所以,假设我有一个包含纽约,纽约的所有文件的桶,我还有另一个包含ALBANY,NEW YORK所有文件的桶。现在,我希望能够访问每个桶的最小地理距离,以便我知道奥尔巴尼或纽约市是否更接近我的原点。

1 个答案:

答案 0 :(得分:0)

非常确定此页面包含您需要的所有内容: http://www.elasticsearch.org/blog/geo-location-and-search/

如果您在阅读后有任何需要,请随意提问;)