Filters聚合的基本语法
Filters聚合是一种多桶聚合,用于将文档分组到多个桶中,每个桶对应一个过滤条件。以下是Filters聚合的基本语法和结构:
1.基本结构
```json
{
"aggs": {
"<aggregation_name>": {
"filters": {
"filters": {
"<bucket_key1>": { <query1> },
"<bucket_key2>": { <query2> },
...
}
}
}
}
}
```
2.关键部分说明
• `<aggregation_name>`:聚合的名称,用户自定义。
• `filters`:聚合类型,固定为`filters`。
• `filters`字段:定义多个过滤条件,每个条件对应一个桶。
• `<bucket_key>`:桶的名称,用户自定义。
• `<query>`:Elasticsearch查询语句,用于定义桶的过滤条件。
3.返回结果
返回结果中,每个桶会包含以下信息:
• `doc_count`:匹配该过滤条件的文档数量。
4.示例
以下是一个具体的Filters聚合示例,用于将日志消息分为“错误”和“警告”两类:
```json
POST /logs/_search?size=0
{
"aggs