地理边界聚合

地理边界聚合是一个度量聚合,为一个字段计算包含所有地点值的边界框。

例如:

{
    "query" : {
        "match" : { "business_type" : "shop" }
    },
    "aggs" : {
        "viewport" : {
            "geo_bounds" : {
                "field" : "location", 
                "wrap_longitude" : true  
            } 
        } 
    } 
}

1.地理边界聚合指定一个字段用来获得边界。

2.wrap_longitude是一个可选参数,指定边界框是否允许与国际日期变更线重叠,默认值是true。

上面的聚合实例表示查询所有业务类型为商店的文档,并且根据文档中的位置字段计算出边界框。

上面聚合语句的返回值为:

{
    ...

    "aggregations": {
        "viewport": {
            "bounds": {
                "top_left": {
                    "lat": 80.45,
                    "lon": -160.22
                },
                "bottom_right": {
                    "lat": 40.65,
                    "lon": 42.57
                }
            }
        }
    }
}