地理边界聚合

地理边界聚合 #

geo_bounds 地理边界聚合是一个多值聚合,用于计算包含一组 geo_pointgeo_shape 对象的地理边界框。边界框以十进制编码的经纬度(lat-lon)对形式返回,作为矩形的左上角和右下角顶点。

参数说明 #

geo_bounds 聚合采用以下参数。

参数必需/可选数据类型描述
field必需String计算地理边界所使用的包含地理点或地理形状的字段的名称。
wrap_longitude可选Boolean是否允许边界框与国际日期变更线重叠。默认值为 true 。

参考样例 #

以下示例查询数据中每个订单的 geo_boundsgeoip.location (每个 geoip.location 是一个地理点):

GET sample_data_ecommerce/_search
{
  "size": 0,
  "aggs": {
    "geo": {
      "geo_bounds": {
        "field": "geoip.location"
      }
    }
  }
}

返回内容 #

如以下示例响应所示,聚合返回包含 geoip.location 字段中所有地理点的 geobounds

{
  "took": 16,
  "timed_out": false,
  "_shards": {
    "total": 1,
    "successful": 1,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": {
      "value": 4675,
      "relation": "eq"
    },
    "max_score": null,
    "hits": []
  },
  "aggregations": {
    "geo": {
      "bounds": {
        "top_left": {
          "lat": 52.49999997206032,
          "lon": -118.20000001229346
        },
        "bottom_right": {
          "lat": 4.599999985657632,
          "lon": 55.299999956041574
        }
      }
    }
  }
}