ES空间查询

本文介绍Elasticsearch中针对地理位置的三种查询方式:GeoBoundingBoxQuery(指定边界框内查询)、GeoDistanceQuery(特定点周边距离查询)及GeoPolygonQuery(多边形内查询),并提供具体配置示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ES中geo_point类型字段,地球表面可以用经纬度描述的一个点。 

1,within a bounding box (Geo Bounding Box Query)

 "filter": {
     "geo_bounding_box": {//在特定方框内查询
        "pin.location": {
           "top_left": {"lat": 40.73,"lon": -74.1},//左上
           "bottom_right": {"lat": 40.01,"lon": -71.12}//右下
        }
     }
  }

2,certain distance of a central point(Geo Distance Query)

"filter" : {
     "geo_distance" : {//...
         "distance" : "200km",//距离
         "pin.location" : {"lat" : 40, "lon" : -70 } }//距离特定点的周边200km
 }

3,within a polygon(多边)(Geo Polygon Query)

"filter" : {
    "geo_polygon" : {//在多边形内的求点
        "person.location" : {
            "points" : [
                {"lat" : 40, "lon" : -70}, 
                {"lat" : 30, "lon" : -80}, 
                {"lat" : 20, "lon" : -90} 
            ] 
        }
    }
}

参考文章:

https://blog.youkuaiyun.com/feifantiyan/article/details/54092843

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值