欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > ES数据聚合 DSL实现Bucket聚合

ES数据聚合 DSL实现Bucket聚合

2024/11/30 10:47:41 来源:https://blog.csdn.net/qq_46603351/article/details/140622607  浏览:    关键词:ES数据聚合 DSL实现Bucket聚合

ES数据聚合

聚合的分类

聚合(aggregations)可以实现对文档数据的统计、分析、运算。聚合常见的有三类:

  • 桶(Bucket)聚合:对文档做分组 (类似数据库的group by)
    • TermAggregation:按照文档字段值分组 (该字段就不能分词了 不能是text)
    • Date Histogram:按照日期阶梯分组,比如一周为一组,或者一个月为一组 (这个功能用mysql实现就复杂多了)
  • 度量(Metric)聚合:用于计算一些值
    • Avg
    • Max
    • Min
    • Stats:同时求max min avg sum
  • 管道(pipeline)聚合:其它聚合的结果为基础做的聚合

桶和度量用的比较多

image-20240723000917521

DSL实现Bucket聚合

image-20240723001414229

设置size为0 结果中不包含文档,只包含聚合结果

记住三个:聚合名称 聚合类型 聚合对应的字段

实例:

image-20240723002051162

可以理解为命中数符合条件的文档数据 相当于数据库中的一条条数据。可以修改排序规则 ,默认是按照_count 降序排序

image-20240723002220649

品牌一样的会放在一个桶里面 可以比作垃圾分类

image-20240723001824040


Bucket 聚合-限定聚合搜索范围

image-20240723002444437

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

总结:

image-20240723002609502

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com