当前位置: 首页 > news >正文

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" } } } } } }

http://www.gsyq.cn/news/158344.html

相关文章:

  • DC综合与时序优化实战指南
  • JFinal中生成验证码与输出图片流
  • 后缀数组与后缀自动机
  • Open-AutoGLM数据安全真相曝光:5个你必须立即检查的配置项
  • 字节Java面试被问:系统限流的实现方式
  • 贝壳一面:年轻代回收频率太高,如何定位?
  • Open-AutoGLM部署难题,90%用户都忽略的4个配置细节
  • zz国内大模型收费榜单国内外热门AI流量榜单
  • 【2万字长文】MCP实战:大模型与外部工具交互的标准化协议全解析!
  • 自从用了这些配图,老板说我的PPT像咨询公司做的
  • yarn.lock 文件解析与依赖管理
  • 行政刚发的通知:做汇报PPT,建议优先用这几个图库
  • 开发多语言支持的WinForms界面 - 尼古拉
  • 基于SpringAI的智能平台基座开发-(九)
  • 为什么顶级实验室都在关注Open-AutoGLM?(内部技术路径首次披露)
  • ODIS工程师安装与软件版本改零件号教程
  • Open-AutoGLM落地难题一网打尽,资深架构师亲授9种避坑策略
  • 2026年Deepseek知识库部署方案商企业知识库部署厂商全景测评:私有化落地路径与选型宝 - 品牌2026
  • Android Url的一些常见处理
  • 十大排序算法详解:原理与多语言实现
  • AbMole丨重组干扰素γ:免疫应答与巨噬细胞极化的调控因子
  • 2025年靠谱的geo推广营销服务哪家可靠?新测评精选营销公司推荐 - mypinpai
  • Rhino修复破面模型:从导入到导出完整指南
  • 基于NPort5630的Modbus串口通讯优化方案
  • 为什么你的Open-AutoGLM跑不起来?这6步部署逻辑缺一不可
  • Open-AutoGLM能在家用电脑部署吗:5步完成本地化部署实测指南
  • TypeScript的个人理解
  • 2025年免费软著查询渠道汇总!可以查到6项软著申请信息! - 还在做实验的师兄
  • 如何用Open-AutoGLM实现多语言动态菜单?90%人都忽略的3个细节
  • .NET中为UEditor添加图片删除功能