汇总一些简单用法
因为公司需要使用一个需求, 通过用户的当前地理位置消息搜索出周边的一些数据, 如果使用php进行大数据计算的话,非常消耗性能,所以采用es
相关文档学习
包的使用:
https://packagist.org/packages/elasticsearch/elasticsearch
https://www.cnblogs.com/codeAB/p/10283304.html
地理位置的查询:
http://cwiki.apachecn.org/pages/viewpage.action?pageId=10029641
查询语法:
https://doc.yonyoucloud.com/doc/mastering-elasticsearch/chapter-2/index.html
经纬度查询实例:
https://cloud.tencent.com/info/4640585893c9d9f1ef1c33f368b7c009.html
ES - PHP
https://www.elastic.co/guide/cn/elasticsearch/php/current/_overview.html
创建索引
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": {} // 搜索所有的时候采用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: surest.cn
本文由 邓尘锋 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: Jun 5, 2019 at 09:14 am