Elasticsearch 聚合

本文深入探讨了聚合框架的各种聚合类型,包括指标、平均、基数、扩展统计数据等聚合方式,旨在帮助读者理解如何通过不同类型的聚合来获取有用的数据摘要信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

🔥本文简要🔥

聚合框架收集搜索查询选择的所有数据,并由许多构建块组成,这有助于构建数据的复杂摘要。聚合的基本结构如下所示

"aggregations" : {
   "" : {
      "" : {

      }
 
      [,"meta" : { [] } ]?
      [,"aggregations" : { []+ } ]?
   }
   [,"" : { ... } ]*
}

聚合有不同的类型,每种类型都有自己的目的。本章将详细讨论这些问题。

  • 🚌一个人可以走的很快,一群人可以走的很远🇨🇳
  • 🎉点赞评论收藏 ➕关注== 养成习惯(一键四连)📝
  • 🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝
  • 🙏作者水平有限,欢迎各位大佬指点,相互学习进步!😆

🔥本文简要🔥

一、指标聚合

二、平均聚合

三、基数聚合

四、扩展统计数据聚合

五、最大聚集

六、最小聚合

七、聚合总和

八、统计聚合

九、聚合元数据


一、指标聚合

这些聚合有助于根据聚合文档的字段值计算矩阵,有时还可以从脚本生成一些值。数值矩阵既可以是单值(如平均聚合),也可以是多值(如统计数据)。

二、平均聚合

此聚合用于获取聚合文档中存在的任何数字字段的平均值。例如:

POST /schools/_search
{
   "aggs":{
      "avg_fees":{"avg":{"field":"fees"}}
   }
}

三、基数聚合

此聚合提供了特定字段的不同值的计数。

POST /schools/_search?size=0
{
   "aggs":{
      "distinct_name_count":{"cardinality":{"field":"fees"}}
   }
}

Note −基数的值为2,因为费用有两个不同的值。

四、扩展统计数据聚合

此聚合将生成有关聚合文档中特定数字字段的所有统计信息。

POST /schools/_search?size=0
{
   "aggs" : {
      "fees_stats" : { "extended_stats" : { "field" : "fees" } }
   }
}

五、最大聚集

此聚合查找聚合文档中特定数字字段的最大值。

POST /schools/_search?size=0
{
   "aggs" : {
   "max_fees" : { "max" : { "field" : "fees" } }
   }
}

六、最小聚合

此聚合在聚合的文档中查找特定数字字段的最小值。

POST /schools/_search?size=0
{
   "aggs" : {
      "min_fees" : { "min" : { "field" : "fees" } }
   }
}

七、聚合总和

此聚合计算聚合文档中特定数值字段的和。

POST /schools/_search?size=0
{
   "aggs" : {
      "total_fees" : { "sum" : { "field" : "fees" } }
   }
}

在特殊情况下还有其他一些度量标准聚合,例如地理边界聚合和地理质心聚合,以实现地理位置。

八、统计聚合

一种多值度量标准聚合,可根据从聚合文档中提取的数值来计算统计信息。

POST /schools/_search?size=0
{
   "aggs" : {
      "grades_stats" : { "stats" : { "field" : "fees" } }
   }
}

九、聚合元数据

您可以在请求时使用meta标记添加一些有关聚合的数据,并作为响应获取。

POST /schools/_search?size=0
{
   "aggs" : {
      "min_fees" : { "avg" : { "field" : "fees" } ,
         "meta" :{
            "dsc" :"Lowest Fees This Year"
         }
      }
   }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑石课堂

请给我打钱!!!谢谢,不客气!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值