Elasticsearch 度量(Metric)聚合详解及示例

Elasticsearch 提供了强大的聚合功能,允许用户对数据进行深入的统计分析。度量(Metric)聚合是其中一种,它用于对数值型数据进行计算,如求和、平均值、最大值、最小值等。本文将详细介绍 Elasticsearch 的度量聚合,并提供完整的示例和解释。

度量聚合基础

度量聚合用于执行数值计算,它可以帮助我们快速获得数据集的关键统计信息。常见的度量聚合包括:

  • Avg:计算平均值。
  • Sum:计算总和。
  • Min:找出最小值。
  • Max:找出最大值。
  • Stats:同时计算多个度量指标,如最大值、最小值、平均值和总和。

示例:Stats 聚合

假设我们有一个酒店数据索引,我们想要计算每个酒店品牌的用户评分的最小值、最大值和平均值。

DSL 查询

json 复制代码
GET /hotel/_search
{
  "size": 0,
  "aggs": {
    "brandAgg": {
      "terms": {
        "field": "brand",
        "size": 20
      },
      "aggs": {
        "score_stats": {
          "stats": {
            "field": "score"
          }
        }
      }
    }
  }
}

解释

  • size: 0 表示我们不需要原始文档的列表,只关心聚合结果。
  • aggs:定义聚合的区域。
  • brandAgg:为聚合操作定义的名称,这里使用了 Terms 聚合按品牌分组。
  • terms:指定聚合类型为词条聚合,field 指定聚合字段为 brandsize 限制返回的品牌数量。
  • score_stats:在 Brands 聚合内部定义的子聚合,用于计算评分统计。
  • stats:聚合类型,用于计算 score 字段的多个统计指标。

嵌套度量聚合

度量聚合可以嵌套在其他聚合内部,例如在桶聚合内部计算每个桶的度量指标。

DSL 查询

json 复制代码
GET /hotel/_search
{
  "size": 0,
  "aggs": {
    "brandAgg": {
      "terms": {
        "field": "brand",
        "size": 20,
        "order": {
          "_count": "asc"
        }
      },
      "aggs": {
        "scoreAgg": {
          "stats": {
            "field": "score"
          }
        }
      }
    }
  }
}

解释

  • order:指定 Bucket 聚合结果的排序方式,这里按照 _count 升序排列。
  • scoreAgg:在 Brands 聚合内部定义的另一个子聚合,用于计算每个品牌评分的统计数据。

结语

度量聚合是 Elasticsearch 中进行数值计算的重要工具。通过本篇文章的示例和解释,你应该对如何使用度量聚合有了更深入的理解。无论是计算平均评分、总和、最大值还是最小值,度量聚合都能提供灵活且强大的支持。掌握度量聚合的使用,将有助于你更有效地进行数据分析和探索。希望本文能够帮助你在实际项目中更好地利用 Elasticsearch 的聚合功能。

相关推荐
zxsz_com_cn1 小时前
设备预测性维护方案设计的关键要素
大数据·人工智能
唐天下闻化1 小时前
连锁数字化改造8成翻车?三维避坑实录
大数据
1104.北光c°2 小时前
深入浅出 Elasticsearch:从搜索框到精准排序的架构实战
java·开发语言·elasticsearch·缓存·架构·全文检索·es
坚持学习前端日记3 小时前
从零开始构建小说推荐智能体 - Coze 本地部署完整教程
大数据·人工智能·数据挖掘
IDIOT___IDIOT4 小时前
关于 git 进行版本管理的时候 gitignore 写入忽略规则而不生效的问题
大数据·git·elasticsearch
不想看见4044 小时前
Git 误删急救手册
大数据·git·elasticsearch
网络工程小王4 小时前
【大数据技术详解】——Elasticsearch技术(学习笔记)
大数据·大数据技术·向量查询
TOWE technology4 小时前
从“制造”到“智造”:智能PDU如何成为智慧工厂的电力“神经中枢”
大数据·人工智能·制造·数据中心·电源管理·智能pdu
2401_891655815 小时前
Git误操作急救手册大纲
大数据·elasticsearch·搜索引擎