es求平均值_es聚合查询之指标聚合

本文介绍了Elasticsearch中用于聚合分析的功能,包括指标聚合如最大值、最小值、求和、平均值等,并通过实例演示了如何使用这些聚合操作来查询NBA球队球员的数据,如火箭队球员的平均年龄、不同年龄数量等。
摘要由CSDN通过智能技术生成

1.ES聚合分析是什么

聚合分析是数据库中重要的功能特性,完成对⼀个查询的数据集中数据的聚合计算,如:找 出某字段(或计算表达式的结果)的最⼤值、最⼩值,计算和、平均值等。ES作为搜索引擎 兼数据库,同样提供了强⼤的聚合分析能⼒。

对⼀个数据集求最⼤、最⼩、和、平均值等指标的聚合,在ES中称为指标聚合

⽽关系型数据库中除了有聚合函数外,还可以对查询出的数据进⾏分组group by,再在组上 进⾏指标聚合。在ES中称为桶聚合

2.max min sum avg

求出⽕箭队球员的平均年龄

POST /nba/_search

{

"query": {

"match": {

"teamNameEn": "Rockets"

}

},

"aggs": {

"avgAge": {

"avg": {

"field": "playYear"

}

}

}

}

效果:

094d239af0005e5790564ea4ca4bb7cf.png

3.value_count 统计⾮空字段的⽂档数

求出⽕箭队中球员打球时间不为空的数量

POST /nba/_search

{

"query": {

"match": {

"teamNameEn": "Rockets"

}

},

"aggs": {

"countPlayreYear": {

"value_count": {

"field": "playYear"

}

}

},

"size": 1

}

加上size,效果:

{

"took" : 7,

"timed_out" : false,

"_shards" : {

"total" : 1,

"successful" : 1,

"skipped" : 0,

"failed" : 0

},

"hits" : {

"total" : {

"value" : 21,

"relation" : "eq"

},

"max_score" : 3.2723064,

"hits" : [

{

"_index" : "nba",

"_type" : "_doc",

"_id" : "86",

"_score" : 3.2723064,

"_source" : {

"coun

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值