news 2026/1/27 4:57:42

Elastic Search 聚合查询

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Elastic Search 聚合查询

在es简单查询之外,还有更高级的聚合查询,这些基本上都是会大大减少生成需求数据所需的时间。

如果说Query决定查哪些文档,
Aggregation决定从这些文档里能算出什么世界。

这其中就包括:

1.value_count:统计字段非空数量

得到该索引的数量之和,一般用于列表展示

GET order_index/_search { "size": 0, "aggs": { "order_count": { "value_count": { "field": "orderId" }} } }

2.terms:分组聚合

等同于group by

根据所选字段,自动分组并且得出数量,一般用于列表标签展示的时候来显示各个标签有多少数据。

GET order_index/_search { "size": 0, "aggs": { "by_status": { "terms": { "field": "status.keyword" }} } }

3.分组 + 指标聚合

根据分组的个个数据,对内求和

GET order_index/_search { "size": 0, "aggs": { "by_status": { "terms": { "field": "status.keyword" }, "aggs": { "total_amount": { "sum": { "field": "amount" } } } } } }

4.过滤 + 聚合

通过query过滤数据,在使用agg来聚合数据。

GET order_index/_search { "size": 0, "query": { "term": { "status.keyword": "PAID" } }, "aggs": { "avg_amount": { "avg": { "field": "amount" } } } }

5.date_histogram 时间聚合

根据时间格式进行聚合

GET order_index/_search { "size": 0, "aggs": { "order_by_day": { "date_histogram": { "field": "createTime", "calendar_interval": "day", "format": "yyyy-MM-dd" } } } }

6.Bucket 筛选

script 进行筛选,只能在聚合之后

{"size": 0, "aggs": { "by_status": { "terms": { "field": "status.keyword" }, "aggs": { "order_filter": { "bucket_selector": { "buckets_path": { "cnt": "_count" }, "script": "params.cnt >= 100" } } } } } }

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/18 18:58:24

Open-AutoGLM部署难题,90%用户都忽略的4个配置细节

第一章:Open-AutoGLM部署难题,90%用户都忽略的4个配置细节在部署 Open-AutoGLM 时,多数用户仅关注模型下载与启动脚本,却忽略了底层配置的关键细节。这些被忽视的设置直接影响服务稳定性、推理性能与安全性。以下是实际运维中高频…

作者头像 李华
网站建设 2026/1/7 20:17:28

【Open-AutoGLM沉思官网深度解析】:揭秘下一代AI编程自动化核心技术

第一章:Open-AutoGLM沉思官网概览 Open-AutoGLM 是一个面向自动化代码生成与自然语言理解的开源项目,其官方网站作为核心入口,集中展示了项目架构、功能模块与开发文档。官网采用响应式设计,适配多端访问,界面简洁且信…

作者头像 李华