ES 按条件聚合查询
时间: 2023-12-14 09:40:24 浏览: 36
ES支持使用聚合(Aggregation)对查询结果进行分组、统计和计算,可以通过条件聚合查询来实现按照特定条件对数据进行分组并统计。
下面是一个使用条件聚合查询的例子,假设我们有一个索引,里面存储了一些商品信息,其中包括商品名称、价格、销量等字段,我们想要按照价格区间来统计每个区间的商品数量和销售总额,可以使用range聚合:
```
POST /products/_search
{
"size": 0,
"aggs": {
"price_ranges": {
"range": {
"field": "price",
"ranges": [
{ "to": 50 },
{ "from": 50, "to": 100 },
{ "from": 100 }
]
},
"aggs": {
"total_sales": { "sum": { "field": "sales" } },
"total_products": { "value_count": { "field": "name" } }
}
}
}
}
```
这个查询会将结果分成三个桶,分别是价格小于50、价格在50到100之间、价格大于100的商品,对于每个桶,我们使用sum聚合计算出了该区间内商品的销售总额,使用value_count聚合计算出了该区间内商品的数量。最终的查询结果会返回这三个桶的统计信息。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)