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

16.数据聚合

聚合 aggregations 实现对文档的分析、统计和运算。

常见聚合分为三类:

1.Bucket桶聚合:对文档做分组。这里的字段是不分词的,可以是keyword、日期、数值和布尔等。不能是text

        TermAggregation: 按照文档字段值分组

        Date Histogram: 按照日期阶梯分组,例如一周为一组、一月为一组、一季度为一组、一年为一组。

2.Metric度量聚合:用以计算一些值,比如:最大值、最小值、平均值等。

        Avg: 求平均值

        Max: 求最大值

        Min: 求最小值

        Stats: 同时求max、min、avg、sum等。

3.管道(Pipeline)聚合:其他聚合的结果为基础做聚合。

案例:

1.第一步酒店数据按照品牌分组——bucket桶聚合

2.第二步计算不同品牌酒店的平均价格——Metric度量聚合

3.第三步对平均价格进行排序或者获取最大值和最小值——Pipeline管道聚合

场景:统计所有数据中酒店品牌有几种,可以根据酒店品牌的名称做聚合。

酒店品牌brand是keyword类型

bucket聚合使用term类型。

聚合必须的三要素:

1.聚合名称brandAgg

2.聚合类型terms

3.聚合字段brand

默认情况下,bucket聚合会统计bucket内的文档数量,记为_count,并且按照_count降序排序。

可以修改结果的排序方式:

自定义排序规则

默认情况下,bucket聚合会对索引库的所有文档做聚合。可以限定要聚合的文档范围,添加query条件。

案例:获取每个品牌的用户评分的min,max,avg等值。

利用stats聚合。

再按照metric聚合中的平均值降序排序

相关文章:

  • C++的前世今生-C++11
  • 进入python虚拟环境的方法
  • hive集群优化和治理常见的问题答案
  • 「ECG信号处理——(18)基于时空特征的心率变异性分析」2025年6月23日
  • 实时反欺诈:基于 Spring Boot 与 Flink 构建信用卡风控系统
  • 2025.06.23【甲基化】methylKit:甲基化测序数据分析安装与详细使用教程
  • 鸿蒙容器组件 Row 全解析:水平布局技术与多端适配指南
  • 《Effective Python》第十章 健壮性——善用 try/except/else/finally,写出更健壮的 Python 异常处理代码
  • 体制内写公文,用ai工具辅助写材料
  • Advent of Cyber 1 [2019] - [Day 13] | TryHackMe
  • Go 语言使用 excelize 库操作 Excel 的方法
  • FastAPI + PyMySQL 报错:“dict can not be used as parameter”的原因及解决方案
  • ​​MQTT​​通讯:​​物联网
  • 【Torch】nn.GRU算法详解
  • Java 类加载机制详解
  • 高级版 Web Worker 封装(含 WorkerPool 调度池 + 超时控制)
  • 渗透测试指南(CSMSF):Windows 与 Linux 系统中的日志与文件痕迹清理
  • 【时时三省】(C语言基础)怎样定义指针变量
  • 无人驾驶汽车运动控制分为纵向控制和横向控制
  • 软件更新 | 从数据到模型,全面升级!TSMaster新版助力汽车研发新突破
  • 做讲课ppt的网站/成都百度提升优化
  • 长春网站建设推广优化/免费单页网站在线制作
  • 做图片网站咋样/网络营销的十种方法
  • javaee是做网站的?/百度官网优化
  • 网站开发工程师ppt/代运营公司是怎么运营的
  • 怎么做网站的推广/学生个人网页制作html代码