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 }
希望本文章对您有帮助,您的转发、点赞是我的创作动力,十分感谢。更多好文推荐,请关注我的微信公众号--JustJavaIt