汇总一些简单用法

因为公司需要使用一个需求, 通过用户的当前地理位置消息搜索出周边的一些数据, 如果使用php进行大数据计算的话,非常消耗性能,所以采用es

相关文档学习

包的使用:

https://packagist.org/package...

https://www.cnblogs.com/codeA...

地理位置的查询:
http://cwiki.apachecn.org/pag...

查询语法:
https://doc.yonyoucloud.com/d...

经纬度查询实例:
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: 邓尘锋