13-DSL查询语法-地理坐标查询

  所谓的地理坐标查询,其实就是根据经纬度查询,官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/geo-queries.html

常见的使用场景包括:

  • 携程:搜索我附近的酒店

  • 滴滴:搜索我附近的出租车

  • 微信:搜索我附近的人

  官方文档中提供了多种方式,我这里只介绍其中一种距离查询(geo_distance)。

 距离查询(geo_distance)

  附近查询,也叫做距离查询(geo_distance):查询到指定中心点小于某个距离值的所有文档。

换句话来说,在地图上找一个点作为圆心,以指定距离为半径,画一个圆,落在圆内的坐标都算符合条件:

 语法

 示例

搜索陆家嘴附近5km的酒店:

 1 #地理坐标查询
 2 
 3 #距离查询(geo_distance)
 4 GET /hotel/_search
 5 {
 6   "query": {
 7     "geo_distance":{
 8       "distance": "5km",
 9       "location": "31.21,121.5"
10     }
11   }
12 }
View Code

 

posted @ 2023-05-19 16:27  JustJavaIt  阅读(43)  评论(0编辑  收藏  举报