当前位置: 首页 > 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.lqws.cn/news/496423.html

相关文章:

  • LINUX 623 FTP回顾
  • 设计模式精讲 Day 12:代理模式(Proxy Pattern)
  • 手撕 Decoder
  • 将RESP.app的备份数据转码成AnotherRedisDesktopManager的格式
  • react gsap动画库使用详解之text文本动画
  • 山洪灾害智能监测站系统解决方案
  • 通过apache共享文件
  • 渗透测试指南(CSMSF):Windows 与 Linux 系统中的日志与文件痕迹清理
  • XSD是什么,与XML关系
  • D2554探鸽协议,sensor属性,回调
  • 关于 pdd:anti_content参数分析与逆向
  • 前端面试记录
  • Flask框架index.html里引用的本地的js和css或者图片
  • C#采集电脑硬件(CPU、GPU、硬盘、内存等)温度和使用状况
  • 深入理解PHP中的生成器(Generators)
  • 新高考需求之一
  • 【GNSS定位算法】Chapter.2 导航定位算法软件学习——Ginav(二)SPP算法 [2025年6月]
  • 系统规划与管理师(第2版)第9章思维导图发布
  • Java面试核心考点复习指南
  • 智能交通中的深度学习应用:从理论到实践
  • 深入解析 Windows 文件查找命令(dir、gci)
  • 在cursor中,配置jdk和maven环境,安装拓展插件
  • AngularJS
  • 【笔记】在Cygwin上使用mintty连接wsl
  • 【软考高级系统架构论文】论企业集成架构设计及应用
  • 海拔案例分享-门店业绩管理小程序
  • 【ARM 嵌入式 编译系列 7.4 -- GCC 链接脚本中 ASSERT 函数】
  • 如何利用Charles抓包工具提升API调试与性能优化
  • QT6(46)5.2 QStringListModel 和 QListView :列表的模型与视图的界面搭建与源代码实现
  • Netty内存池分层设计架构