过滤器聚合
一个 filters
聚合与 filter
聚合相同,但它允许您使用多个过滤器聚合。filter
聚合只产生一个桶,而 filters
聚合会返回多个桶,每个桶对应一个定义的过滤器。
要为所有不匹配任何过滤器查询的文档创建一个桶,请将 other_bucket
属性设置为 true
。
GET opensearch_dashboards_sample_data_logs/_search
{
"size": 0,
"aggs": {
"200_os": {
"filters": {
"other_bucket": true,
"filters": [
{
"term": {
"response.keyword": "200"
}
},
{
"term": {
"machine.os.keyword": "osx"
}
}
]
},
"aggs": {
"avg_amount": {
"avg": {
"field": "bytes"
}
}
}
}
}
}
示例响应
...
"aggregations" : {
"200_os" : {
"buckets" : [
{
"doc_count" : 12832,
"avg_amount" : {
"value" : 5897.852711970075
}
},
{
"doc_count" : 2825,
"avg_amount" : {
"value" : 5620.347256637168
}
},
{
"doc_count" : 1017,
"avg_amount" : {
"value" : 3247.0963618485744
}
}
]
}
}
}