🔥本文简要🔥
聚合框架收集搜索查询选择的所有数据,并由许多构建块组成,这有助于构建数据的复杂摘要。聚合的基本结构如下所示
"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"
}
}
}
}