推广 热搜:     参数  行业  机械  教师  设备  系统  公司  企业 

用ES实现根据经纬度由近及远推荐店铺

   日期:2024-12-05     浏览:115    移动:http://sicmodule.glev.cn/mobile/quote/11239.html

ES中特有的类型geo_point,是用来存储地图类型的。店铺推荐、地图搜索和外卖平台等,实现目标距离你多少米,就是用这个数据类型做出来的。

用ES实现根据经纬度由近及远推荐店铺

其中,ES支持的地图检索方式有以下几种

geo_distance:直线距离检索,如给定点A,要求返回地图上距离点A三千米的店铺

geo_bounding_box:以两个点确定一个矩形,获取在矩形内的全部数据

geo_polygon:以多个点,确定多边形,获取多边形内的全部数据

本文则以geo_distance为例说明。

2.1 新建ES索引
2.2 添加索引数据
2.3 执行ES搜索

搜索条件

【query中的参数】

location:指定定位的经纬度,一般取用户定位点的经纬度。

lat:纬度。

lon:经度。

distance:距离指定定位的最远距离,即本次搜索结果必须在指定定位点到该距离之间。

distance_type:arc表示圆形范围

【sort】中的参数

location:指定定位的经纬度,一般取用户定位点的经纬度。

order:距离排序,asc正序,desc则是倒序。

unit:距离单位,m就是米,km就是千米。

执行搜索,得到搜索结果

根据前面的搜索条件,执行搜索后得到是按照当前定位点的经纬度,查询距离3km以内的所有店铺,由近及远的排序的结果。

location:每个店铺所在的经纬度。

sort:每个店铺距离当前定位点的距离。前面搜索条件我们设置了单位为米,所以这里就是距离1810米的意思。

本文地址:http://sicmodule.glev.cn/quote/11239.html    歌乐夫 http://sicmodule.glev.cn/ , 查看更多

特别提示:本信息由相关企业自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


相关行业动态
推荐行业动态
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2023001713号