15158846557 在线咨询 在线咨询
15158846557 在线咨询
所在位置: 首页 > 营销资讯 > 网站运营 > 慕课网 20200330 es+geo+baidu-map 直播视频与文字版笔记

慕课网 20200330 es+geo+baidu-map 直播视频与文字版笔记

时间:2023-06-07 12:18:02 | 来源:网站运营

时间:2023-06-07 12:18:02 来源:网站运营

慕课网 20200330 es+geo+baidu-map 直播视频与文字版笔记:视频版本
视频已经由慕课网上传至B站,免费高清,地址为:https://www.bilibili.com/video/BV1Lz411b7cN。以下都是文字版笔记。
《Elasticsearch极速入门与基于百度地图的geo地理位置搜索》
1. es介绍














简单聊一聊倒排索引



2. es的核心术语与数据结构














文档的数据如何体现,或者说是怎样的数据格式?
stu_index: [ stu_doc: { id: 1001, name: jack, age: 19 }, { id: 1002, name: lucy, age: 18 }, { id: 1003, name: lily, age: 17 }, { id: 1004, name: lilei, age: 20 } ]
3. es和head插件安装见慕课网手记
https://github.com/mobz/elasticsearch-head#running-with-built-in-server
https://www.imooc.com/article/286936
这个基于centos6,架构师课程基于centos7
4. head插件,索引index创建与映射mappings创建
索引名: friends



分片与集群,健康度
*简称(附)
shard = primary shard(主分片)
replica = replica shard(副本分片)
演示使用head来进行索引的创建








es 健康度
不同的颜色表示es不同的健康程度


  1. 绿色:集群健康,所有主分片和副本分片都是可用状态。
  2. 黄色:亚健康,所有的主分片可用,但是副本分片部分不可用。
  3. 红色:不健康,主分片部分不可用。
ES - GEO地理位置
0. 必学英文单词


1. 拾取坐标
那么接下来我们可以通过地图来拾取一些坐标,当然如果是在app上,用户在进行搜索的时候,是会通过手机来获得当前的坐标点,通过这个坐标点来进行相关的搜索业务的。


2. 使用postman创建mappings映射


POST /friends/_mapping (es6为/friends/_doc/_mapping) { "properties": { "userId": { "type": "long" }, "userName": { "type": "text" }, "geo": { "type": "geo_point" }, "place": { "type": "text" } } }
3. 插入geo数据
POST /friends/_doc/{useId} # 杭州夫子庙 { "userId": 1001, "userName": "Iron Man", "geo": { "lon": 118.795263, "lat": 32.02705 }, "place": "杭州夫子庙" } # 杭州书店 { "userId": 1002, "userName": "Thor", "geo": { "lon": 118.795708, "lat": 32.027092 }, "place": "杭州书店" } # 盐水鸭 { "userId": 1003, "userName": "Steve", "geo": { "lon": 118.796134, "lat": 32.027861 }, "place": "盐水鸭" } # 鸡鸣寺 { "userId": 1004, "userName": "SpiderMan", "geo": { "lon": 118.801893, "lat": 32.067251 }, "place": "鸡鸣寺" } # 杭州古生物博物馆 { "userId": 1005, "userName": "BlackWidow", "geo": { "lon": 118.801592, "lat": 32.065931 }, "place": "杭州古生物博物馆" } # 鸡鸣山庄 { "userId": 1006, "userName": "Hawkeye", "geo": { "lon": 118.798659, "lat": 32.068096 }, "place": "鸡鸣山庄" } # 北极阁公园 { "userId": 1007, "userName": "Hulk", "geo": { "lon": 118.797105, "lat": 32.066134 }, "place": "北极阁公园" } # 杭州大学 { "userId": 1008, "userName": "Magneto", "geo": { "lon": 118.797105, "lat": 32.066134 }, "place": "杭州大学" } # 杭州邮电大学 { "userId": 1009, "userName": "GreenArrow", "geo": { "lon": 118.936814, "lat": 32.121167 }, "place": "杭州邮电大学" } # 杭州师范大学 { "userId": 1010, "userName": "BatMan", "geo": { "lon": 118.916549, "lat": 32.111014 }, "place": "杭州师范大学" }
4. 删除文档
DELETE /friends/_doc/{id}
5. 修改文档


6. 以矩阵的形式查询范围内的坐标



左上右下为基准所画的矩阵中,只要包含geo坐标点,就会被查询出来


GET /friends/_doc/_search { "query": { "geo_bounding_box": { "geo": { "top_left": { "lon": 118.789703, "lat": 32.030249 }, "bottom_right": { "lon": 118.802171, "lat": 32.024341 } } } } }
7. 自定义区域搜索
使用场景:大气环境监测,国控的,激光雷达设备所组成的一个范围



GET /friends/_doc/_search { "query": { "geo_polygon": { "geo": { "points": [ {"lon": 118.798533, "lat": 32.029269}, {"lon": 118.797221, "lat": 32.028427}, {"lon": 118.792748, "lat": 32.02555}, {"lon": 118.799449, "lat": 32.025634} ] } } } }
8. 从当前位置搜索一定范围内的朋友
互动:使用场景最多,比如:


GET /friends/_doc/_search { "query": { "geo_distance": { "distance": "50m/1km/10km", "geo": { "lon": 118.795739, "lat": 32.026973 } } } }
9. 搜索区间范围内的好友个数
常用于主动的推荐:


用于统计距离某个点位置100米,500米,2公里范围内的坐标数量。
单位:一般用km或m





GET /friends/_doc/_search { "size": 0, "aggs": { "tongji": { "geo_distance": { "distance_type": "plane", "field": "geo", "origin": { "lon": 118.79549, "lat": 32.027042 }, "unit": "km", "ranges": [ { "from": 0, "to": 1 }, { "from": 1, "to": 5 }, { "from": 5, "to": 100 } ] } } } }


http://weixin.qq.com/r/rjrk-KXELfhSreGf92_8 (二维码自动识别)







关键词:视频,文字,笔记,直播

74
73
25
news

版权所有© 亿企邦 1997-2025 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭