当前位置: 首页 > 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聚合中的平均值降序排序

http://www.lryc.cn/news/574160.html

相关文章:

  • 文章以及好用网站分享
  • [QMT量化交易小白入门]-六十六、加入评分阈值后,历史回测收益率达到74%
  • Matlab自学笔记六十:符号表达式的缩写和简化
  • <tauri><threejs><rust><GUI>基于tauri和threejs,实现一个3D图形浏览程序
  • WPF中MVVM和MVVMLight模式
  • 技术逐梦之旅:从C语言到Vue的成长之路
  • 【附源码】考试报名系统设计与实现+SpringBoot + Vue (前后端分离)
  • Java底层原理:深入理解类加载机制与反射
  • 开始读Learning PostgresSQL第二版
  • C# SolidWorks二次开发-实战2,解决SolidWorks2024转step文件名乱码问题
  • STM32和C++ 实现配置文件导入、导出功能
  • 【技术分享】XR技术体系浅析:VR、AR与MR的区别、联系与应用实践
  • 使用CloudFormation模板自动化AWS基础设施的部署
  • 【第二章:机器学习与神经网络概述】03.类算法理论与实践-(2)朴素贝叶斯分类器
  • Auto-GPT vs ReAct:两种智能体思路对决
  • 【MySQL基础】MySQL复合查询全面解析:从基础到高级应用
  • 左神算法之给定一个数组arr,返回其中的数值的差值等于k的子数组有多少个
  • Flask学习笔记
  • Java数据结构第二十四期:探秘 AVL 树,当二叉搜索树学会 “自我调节”
  • 腾讯云 CodeBuddy 技术评估报告(2025年):编码效率提升40%,复杂工程处理能力领先Cursor 35%​
  • 【Java开发日记】我们详细讲解一下 Java 中 new 一个对象的流程
  • Nginx与Tomcat:谁更适合你的服务器?
  • Python 商务数据分析—— NumPy 学习笔记Ⅱ
  • react gsap动画库使用详解之scroll滑动动画
  • 分布式系统 - 分布式锁及实现方案
  • 【开源工具】一键解决使用代理后无法访问浏览器网页问题 - 基于PyQt5的智能代理开关工具开发全攻略
  • 爬虫002-----urllib标准库
  • 企业主动风险管理破局供应链“黑天鹅”,善用期货
  • PDF-XSS
  • 游戏盾高效防范DDoS攻击的安全防护