elasticsearch 查询:经纬度查询


  • geo_distance:直线距离检索方式
  • geo_bounding_bos:以两个点确定一个矩形,获取在矩形内的全部数据
  • geo_polygon:以多个点,确定一个多边形,获取多边形内的全部数据
#测试geo--geo_distance
POST /king_test_map/_search
{
  "query": {
    "geo_distance":{
      "location":{                 #确定一个点
        "lon":104.07551,
        "lat":30.543074
      },
      "distance":1000,            #确定半径:m
      "distance_type":"arc"       #指定形状为圆形
    }
  }
}
#测试geo--geo_bounding_box
POST /king_test_map/_search
{
  "query": {
    "geo_bounding_box":{
      "location":{
        "top_left":{            #左上角的坐标
          "lon":104.056466,
          "lat":30.550103
        },
        "bottom_right":{        #右下角的坐标
          "lon":104.074576,
          "lat":30.536418
        }
      }
    }
  }
}
#测试geo--geo_bounding_box
POST /king_test_map/_search
{
  "query": {
    "geo_polygon":{
      "location":{
        "points":[
          {
            "lon":104.056394,
            "lat":30.55029
          },
          {
            "lon":104.06279,
            "lat":30.542079
          },
          {
            "lon":104.072348,
            "lat":30.546807
          },
          {
            "lon":104.067533,
            "lat":30.554333
          }
          ]
      }
    }
  }
}
posted @ 2024-01-31 08:37  king_wq_庆  阅读(56)  评论(0编辑  收藏  举报