使用地名进行弹性搜索的地理定位(地理编码)
Posted
技术标签:
【中文标题】使用地名进行弹性搜索的地理定位(地理编码)【英文标题】:Geolocation with elasticsearch using placenames (geocoding) 【发布时间】:2014-09-08 13:05:16 【问题描述】:我正在使用 elasticsearch 搜索项目,现在我希望能够搜索给定国家/地区的城镇。
我已经使用以下信息加载了一个 SQL 数据库(这里是示例数据)。
Name: London
Type: City
Long: 51.234
Lat: 32.123
Country: UK
关于这个的几个问题:
-
我可以将它加载到 elasticsearch 中以将其转换为地理编码器吗?
这是否意味着搜索位置搜索需要两个查询,一个用于地理编码,另一个用于使用坐标进行搜索
是否有我应该使用的插件来代替我可以使用自己的数据。
【问题讨论】:
您是否阅读过 elasticsearch 的地理空间类型(参见 geo point 和 geo shape)和搜索过滤器(参见 geo distance 和 geo polygon)? 这一切都很好,但基于为弹性搜索提供坐标。我说的是在不使用第三方服务的情况下将我的城镇、城市等转换为坐标 【参考方案1】:结帐Pelias。这是一个基于 ElasticSearch 的开源地理编码器
【讨论】:
您可以将 Pelias 用作名为 Mapzen Search 的托管服务:mapzen.com/projects/search 可免费获得具有宽大速率限制的开发人员密钥。以上是关于使用地名进行弹性搜索的地理定位(地理编码)的主要内容,如果未能解决你的问题,请参考以下文章