【发布时间】:2015-11-13 13:13:18
【问题描述】:
我想用形状和边界框按位置对数据进行分组。例如按半球对结果进行分组:
GET cdc/_search
{
"from": 0,
"size": 0,
"query": {
"match_all": {}
},
"aggs": {
"group_by_geo": {
"geo_bounding_box": {
"field": "location",
"boxes": [
{
"top_left": {
"lat": 90,
"lon": -180
},
"bottom_right": {
"lat": 0,
"lon": 0
}
},
{
"top_left": {
"lat": 90,
"lon": 0
},
"bottom_right": {
"lat": 0,
"lon": 180
}
},
{
"top_left": {
"lat": 0,
"lon": -180
},
"bottom_right": {
"lat": -90,
"lon": 0
}
},
{
"top_left": {
"lat": 0,
"lon": 0
},
"bottom_right": {
"lat": -90,
"lon": 180
}
}
]
},
"aggs": {
"over_time": {
"date_histogram": {
"field": "date",
"interval": "day",
"format": "yyyy-MM-dd"
},
"aggs": {
"AvgTemp": {
"avg": {
"field": "hits"
}
}
}
}
}
}
}
}
所以over_timepart 可以很好地隔离,但这个查询给了我"reason": "Could not find aggregator type [geo_bounding_box] in [group_by_geo]"
我的语法受到range aggregations 的启发,但显然这在这种情况下不起作用。
这可能吗,还是我必须按 4 个框过滤单独的查询?
【问题讨论】:
标签: search elasticsearch search-engine