Elasticsearch 聚合基础:terms、avg、sum 等

Elasticsearch 的聚合功能是其强大搜索和分析能力的重要组成部分,它允许用户对存储在索引中的数据执行复杂的分析操作,如计算平均值、求和、分组等。在本文中,我们将深入探讨 Elasticsearch 的聚合基础,特别是 terms、avg 和 sum 聚合的使用。

一、Terms 聚合

Terms 聚合是 Elasticsearch 中最常用的聚合类型之一,它按照某个字段的值进行分组。例如,假设我们有一个酒店数据的索引,并希望按照品牌进行分组,以查看每个品牌的酒店数量。这时,我们可以使用 terms 聚合。

示例查询如下:

json 复制代码
GET /hotel/_search
{
  "size": 0,
  "aggs": {
    "brand_terms": {
      "terms": {
        "field": "brand",
        "size": 10
      }
    }
  }
}

在这个查询中,我们指定了 size 为 0,表示不返回具体的文档结果,只返回聚合结果。aggs 字段下定义了聚合的名称和类型,brand_terms 是我们给这个聚合起的名字,terms 表示我们要使用 terms 聚合。在 terms 聚合内部,我们指定了要按照 brand 字段进行分组,并且只返回前 10 个品牌。

二、Avg 聚合

Avg 聚合用于计算某个字段的平均值。例如,如果我们想知道每个品牌的酒店平均评分,我们可以在 terms 聚合内部嵌套一个 avg 聚合。

示例查询如下:

json 复制代码
GET /hotel/_search
{
  "size": 0,
  "aggs": {
    "brand_terms": {
      "terms": {
        "field": "brand",
        "size": 10
      },
      "aggs": {
        "avg_score": {
          "avg": {
            "field": "score"
          }
        }
      }
    }
  }
}

在这个查询中,我们在 terms 聚合内部又定义了一个名为 avg_score 的 avg 聚合,用于计算每个品牌的酒店平均评分。

三、Sum 聚合

Sum 聚合用于计算某个字段的总和。与 avg 聚合类似,sum 聚合也可以嵌套在 terms 聚合内部使用。

示例查询如下:

json 复制代码
GET /hotel/_search
{
  "size": 0,
  "aggs": {
    "brand_terms": {
      "terms": {
        "field": "brand",
        "size": 10
      },
      "aggs": {
        "total_rooms": {
          "sum": {
            "field": "rooms"
          }
        }
      }
    }
  }
}

在这个查询中,我们定义了一个名为 total_rooms 的 sum 聚合,用于计算每个品牌的酒店房间总数。

四、其他聚合

除了 terms、avg 和 sum 聚合之外,Elasticsearch 还提供了许多其他类型的聚合,如 min、max、stats(同时计算 min、max、avg、sum 等)等。这些聚合可以单独使用,也可以嵌套在其他聚合内部使用,以满足复杂的分析需求。

五、总结

Elasticsearch 的聚合功能为用户提供了强大的数据分析能力,可以轻松地按照不同的维度对数据进行分组和计算。通过合理使用 terms、avg、sum 等聚合类型,用户可以快速地获取到所需的分析结果,为业务决策提供有力的支持。

相关推荐
johnsong1 小时前
当决策成为免费商品:思维成本崩溃背后的治理真空
大数据·人工智能
数字新视界2 小时前
动环监控系统优化数据中心管理,提升环境监测与安全效率
大数据·人工智能·数据中心·微模块机房·模块化机房
zhenaibo5212 小时前
如何向导师请教问题,才能得到有效建议?
大数据·人工智能·深度学习
生活愉甜2 小时前
森马SEMIR LAB全球首家概念店落地武康路,“WUKANG368”新地标就位
大数据·人工智能
乐迪信息3 小时前
港口船舶逆行怎么管?AI防爆摄像机搭载智能检测算法
大数据·人工智能·深度学习·算法·计算机视觉
和裕4 小时前
全纸结构重型纸箱能否满足 1 吨以上设备出口熏蒸豁免要求?通关合规性全解析
大数据·运维·网络·人工智能·算法
代码方舟4 小时前
零信任架构实战:基于天远运营商三要素简版V即时版查询构建自动化电子投保实名核验网关
大数据·人工智能·架构·自动化
xiaohaiAIgeo5 小时前
【2026年】实验室应急预案中通风系统的关键作用
大数据·人工智能·科普知识
Sayai5 小时前
Elasticsearch 日志检索 DSL 实战:时间范围查询、字段去重、分钟级统计与最新日志获取
大数据·运维·elasticsearch·搜索引擎·日志分析
W***25926 小时前
2026 企业 AI 办公工具选型指南:可完成端到端任务的平台怎么评估
大数据·人工智能