Elasticsearch 基础教程

Elasticsearch 高级教程

Elasticsearch 插件

Elasticsearch 笔记

Elasticsearch FAQ

elasticsearch分组聚合查询


在 Elasticsearch 中,聚合是用于从数据中提取有关信息的功能强大的工具。它允许您执行类似于 SQL 中的 GROUP BY 和聚合函数(例如 SUM、AVG、MAX、MIN 等)的操作,以便从您的数据中获得有意义的摘要信息。以下是一些常见的分组聚合查询语句,结合示例代码进行说明:

假设我们有一个存储销售订单的索引,每个文档包含以下字段: product_name (产品名称)、 category (产品类别)、 price (价格)和 quantity (数量)。

Terms Aggregation(词条聚合)

词条聚合用于分组并计算每个唯一值的数量。在我们的例子中,我们可以使用它来计算每个产品类别的订单数量。

{
  "aggs": {
    "categories": {
      "terms": {
        "field": "category.keyword"
      }
    }
  }
}

Sum Aggregation(求和聚合)

求和聚合用于计算指定字段的总和。我们可以使用它来计算每个产品类别的总销售额。

{
  "aggs": {
    "categories": {
      "terms": {
        "field": "category.keyword"
      },
      "aggs": {
        "total_sales": {
          "sum": {
            "field": "price"
          }
        }
      }
    }
  }
}

Average Aggregation(平均聚合)

平均聚合用于计算指定字段的平均值。我们可以使用它来计算每个产品类别的平均价格。

{
  "aggs": {
    "categories": {
      "terms": {
        "field": "category.keyword"
      },
      "aggs": {
        "avg_price": {
          "avg": {
            "field": "price"
          }
        }
      }
    }
  }
}

Max and Min Aggregations(最大值和最小值聚合)

最大值和最小值聚合分别用于找到指定字段的最大值和最小值。我们可以使用它们来找到最贵和最便宜的产品。

{
  "aggs": {
    "max_price": {
      "max": {
        "field": "price"
      }
    },
    "min_price": {
      "min": {
        "field": "price"
      }
    }
  }
}

Date Histogram Aggregation(日期直方图聚合)

日期直方图聚合用于按时间间隔分组数据。我们可以使用它来查看每月的订单数量。

{
  "aggs": {
    "sales_over_time": {
      "date_histogram": {
        "field": "order_date",
        "calendar_interval": "month"
      }
    }
  }
}

这些只是 Elasticsearch 中可用的一些聚合类型示例。根据您的需求,您还可以组合和嵌套这些聚合以获得更复杂的分析结果。在实际使用中,确保根据您的索引结构和数据字段进行适当的调整和修改。

在Elasticsearch中,分组查询通常是通过聚合(Aggregation)来实现的。###TermsAggregation(词项聚合) ...
Elasticsearch是一个开源的分布式搜索和分析引擎,它提供了强大的聚合功能,用于分析和汇总数据。示例代码:这些示例代码展示了一些常用 ...
在Django中,分组查询是指对数据库中的数据进行聚合操作,将具有相同特征的数据分组并进行计算。###使用annotate()和F()表达式 ...
Django提供了强大的聚合(Aggregation)和分组查询(Grouping)功能,允许你在数据库中执行复杂的聚合计算和数据分组操作。 ...
Elasticsearch 的聚合功能十分强大,可在数据上做复杂的分析统计。它提供的聚合分析功能有指标聚合(metrics aggregat ...