:::tips 地理坐标查询就是根据经纬度查询
常见的使用场景:
- 携程:搜索我附近的酒店
- 滴滴:搜索我附近的出租车
- 微信:搜索我附近的人
:::
矩形范围查询
:::tips 矩形范围查询,也就是geo_bounding_box查询,查询坐标落在某个矩形范围的所有文档。在查询时需要指定矩形左上、右下两个点的坐标,根据这两个点可以构成一个矩形,在该矩形内的坐标都是符合条件的 :::GET /索引库名/_search
{
"query": {
"geo_bounding_box": {
"字段名": {
"top_left": {
"lat": 纬度,
"lon": 经度
},
"bottom_right": {
"lat": 纬度,
"lon": 经度
}
}
}
}
}
附近查询
:::tips 附近查询,也叫做距离查询(geo_distance),用来查询到指定中心点小于某个距离值的所有文档,换句话说就是指定一个点作为圆心,指定距离为半径,画一个圆形,在该圆形内的坐标都是符合条件的 :::GET /索引库名/_search
{
"query": {
"geo_distance": {
"distance": "距离+单位", //指定圆形的半径
"字段名": "纬度,经度" //指定圆心的坐标
}
}
}