二、查询相关,返回桶
-
filter
- 单个的桶聚合,将结果进行条件过滤
- 请求示例,过滤商品为短袖的类型,再进行价格平均值计算:
-
POST /sales/_search?size=0&filter_path=aggregations { "aggs": { "avg_price": { "avg": { "field": "price" } }, "t_shirts": { "filter": { "term": { "type": "t-shirt" } }, "aggs": { "avg_price": { "avg": { "field": "price" } } } } } }
返回结果:
-
所有商品的平均价格为140.71428...,其中短袖的总共3件,平均价格为128.33333...
-
{ "aggregations": { "avg_price": { "value": 140.71428571428572 }, "t_shirts": { "doc_count": 3, "avg_price": { "value": 128.33333333333334 } } } }
-
filters
- 多个桶聚合过滤,支持同时过滤不同条件的不同桶返回
- 请求示例:
- 查询errors桶,为日志中含有error错误信息的;
- 查询warnings桶,查询日志中含warning信息的;
-
GET logs/_search { "size": 0, "aggs" : { "messages" : { "filters" : { "filters" : { "errors" : { "