Elasticsearch 存放地理信息数据+百度POI分析
2017-09-27 20:48
381 查看
ES是一个全文搜索引擎,同时也是一个NoSQL数据库,其存放数据方便与检索数据性能优越,受到普遍欢迎。
1. ES Head通过界面化操作,直接可以建立Index:
2. 通过ES API可以创建Index。一般可以选择Java/Python的ES接口API,可以实现该功能。
通过ES的地理位置,可以方便的获取某个GPS坐标点附近的POI信息,也可以计算距离信息等;
ES查询性能优越,数据压缩存储,相比MongoDB数据库占用更少的空间。
ES架构
参考文章:架构及原理ES地理数据操作
参考文章:Elasticsearch地理位置总结实际操作
建立Index
一般有两种方式1. ES Head通过界面化操作,直接可以建立Index:
2. 通过ES API可以创建Index。一般可以选择Java/Python的ES接口API,可以实现该功能。
建立Type
虽然ES允许事先不建立Index,就可以直接插入数据。但这种方式存在安全隐患,比如类型转换,类型设置等方面的隐患。最好的方式就是实现创建Index/Type,定义好需要插入数据的类型,方便后期检索。curl -XPUT 'ES Server IP:9200/Test?pretty' -H 'Content-Type: application/json' -d' { "settings" : { "index" : { "number_of_shards" : 5, "number_of_replicas" : 2 } }, "mappings": { "test": { <- Type name > "properties": { "province": { "type": "keyword" }, "city": { "type": "keyword" }, "district": { "type": "keyword" }, "street": { "type": "keyword" }, "name": { "type": "keyword" }, "location":{ "type":"geo_point" }, } } } } '
插入数据
这里使用Java API实现将数据插入ES的功能,关于ES Client的使用,可以参考文章:https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/index.html选择ES的目的
通过ES,可以实现去重的功能:因为不同位置爬去POI,可能重复;通过ES的地理位置,可以方便的获取某个GPS坐标点附近的POI信息,也可以计算距离信息等;
ES查询性能优越,数据压缩存储,相比MongoDB数据库占用更少的空间。
未完待续
相关文章推荐
- GIS+=地理信息+行业+大数据——纽约公开11亿条出租车和Uber原始数据下载及分析
- GIS+=地理信息+大数据——新浪微博签到POI数据下载(880W)
- GIS+=地理信息+大数据技术——GIS大数据可视化分析工具
- 基于百度地图SDK和Elasticsearch GEO查询的地理围栏分析系统(1)-数据准备
- 用百度map api展示时空数据(七)--左侧列表打开信息窗口
- NetFlow是CISCO发布的一款用于分析网络数据包信息的工具包
- 百度内部培训资料PPT:数据分析的道与术
- 基于百度地图SDK和Elasticsearch GEO查询的地理围栏分析系统(2)-查询实现
- 通过GeoIP2分析访问者IP获取地理位置信息
- elasticsearch源码分析---索引数据
- 地理空间信息与空间大数据:先谈谈LBS(1)
- 利用python调用elasticsearch-api来分析数据并作图进行日报邮件发送
- 《Spark商业案例与性能调优实战100课》第1课:商业案例之通过RDD实现分析大数据电影点评系统中电影的用户行为信息
- 通过GeoIP2分析访问者IP获取地理位置信息
- SEO思维:如何运用数据分析论坛签名和外链在百度新算法中的效果
- 老司机教你分析日志:分析用户的地理位置信息
- android百度离线地图可以通过经纬度获取当前地理信息么(不联网的情况下)
- 百度腾讯阿里,看看他们的大数据优劣势与策略分析
- 利用python调用elasticsearch-api来分析数据并作图进行日报邮件发送
- 大数据分析,一文挖掘天猫双11各种值得关注的消费习惯、民生等信息!