内容简介:因为公司需要使用一个需求, 通过用户的当前地理位置消息搜索出周边的一些数据, 如果使用php进行大数据计算的话,非常消耗性能,所以采用es包的使用:
汇总一些简单用法
因为公司需要使用一个需求, 通过用户的当前地理位置消息搜索出周边的一些数据, 如果使用 php 进行大数据计算的话,非常消耗性能,所以采用es
相关文档学习
包的使用:
https://packagist.org/package...
https://www.cnblogs.com/codeA...
地理位置的查询:
http://cwiki.apachecn.org/pag...经纬度查询实例:
https://cloud.tencent.com/inf...ES - PHP
https://www.elastic.co/guide/...创建索引
PUT http://localhost :9200/show
创建索引字段
PUT http://localhost :9200/show/store/_mapping
{ "store": { "_all":{ "enabled":false }, "properties": { "id": { "type": "integer" }, "name": { "type": "text", "analyzer": "ik_max_word" }, "type": { "type": "integer" }, "position": { "properties": { "location": { "type": "geo_point" } } } } } }
创建索引文档
PUT http://localhost:9200/show/test/2 { "id" : 1, "name" : "建升大厦", "type" : 1, "position":{ "location" : { "lat" : 22.6482057076, "lon" : 114.1250142233 } } } PUT http://localhost:9200/show/test/1 { "id" : 2, "name" : "深圳市第三人民医院", "type" : 1, "position":{ "location" : { "lat" : 22.6352587415, "lon" : 114.1289020619 } } } PUT http://localhost:9200/show/test/3 { "id" : 3, "name" : "深圳百合医院", "type" : 1, "position":{ "location" : { "lat" : 22.6164455768, "lon" : 114.1395956293 } } }
开始查询
查询所有
POST http://localhost:9200/show/store/_search
//
{ "query": { "bool": { "must": { "match_all": { } }, "filter": { "geo_distance": { "distance" : "10km", "position.location": { "lat": 22.6497899384, "lon": 114.1258725301 } } } } }, "sort": [ { "_geo_distance": { "position.location": { "lat": 22.6497899384, "lon": 114.1258725301 }, "order": "asc", "unit": "km", "mode": "min" } } ] }
查询+分词
{ "from":3, "size":3, "query": { "bool": { "must": { "match": { "name": "深圳" } }, "filter": { "geo_distance": { "distance" : "100km", "position.location": { "lat": 22.649928, "lon": 114.125646 } } } } }, "sort": [ { "_geo_distance": { "position.location": { "lat": 22.6497899384, "lon": 114.1258725301 }, "order": "asc", "unit": "km", "mode": "min" } } ] }
以上文档的下载地址
from: 邓尘锋
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Java 根据 IP 获取地理位置
- Android Q 地理位置权限变更
- Java 根据经纬度获取地理位置
- MySQL中地理位置数据扩展geometry的使用心得
- Hive Udf:Python 实现 IP 转地理位置
- WinSrv2019使用DNS构建基于地理位置感知的应用负载均衡
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。