Elasticsearch 中 Metrics 聚合有哪些?

推荐答案

在 Elasticsearch 中,Metrics 聚合主要用于对数值型字段进行统计分析。常见的 Metrics 聚合包括:

  1. Avg Aggregation:计算字段的平均值。
  2. Sum Aggregation:计算字段的总和。
  3. Min Aggregation:查找字段的最小值。
  4. Max Aggregation:查找字段的最大值。
  5. Stats Aggregation:返回字段的统计信息,包括计数、最小值、最大值、平均值和总和。
  6. Extended Stats Aggregation:在 Stats Aggregation 的基础上,增加方差、标准差等统计信息。
  7. Value Count Aggregation:计算字段值的数量。
  8. Cardinality Aggregation:计算字段的唯一值数量(去重计数)。
  9. Percentiles Aggregation:计算字段的百分位数。
  10. Percentile Ranks Aggregation:计算字段值的百分位排名。
  11. Top Hits Aggregation:返回每个分组中的前 N 个文档。
  12. Geo Bounds Aggregation:计算地理坐标字段的边界框。
  13. Geo Centroid Aggregation:计算地理坐标字段的质心。

本题详细解读

1. Avg Aggregation

Avg Aggregation 用于计算数值型字段的平均值。例如,计算某个商品的平均价格:

-- -------------------- ---- -------
-
  ------- -
    ------------ -
      ------ -
        -------- -------
      -
    -
  -
-

2. Sum Aggregation

Sum Aggregation 用于计算数值型字段的总和。例如,计算某个商品的总销售额:

-- -------------------- ---- -------
-
  ------- -
    -------------- -
      ------ -
        -------- -------
      -
    -
  -
-

3. Min Aggregation

Min Aggregation 用于查找数值型字段的最小值。例如,查找某个商品的最低价格:

-- -------------------- ---- -------
-
  ------- -
    ------------ -
      ------ -
        -------- -------
      -
    -
  -
-

4. Max Aggregation

Max Aggregation 用于查找数值型字段的最大值。例如,查找某个商品的最高价格:

-- -------------------- ---- -------
-
  ------- -
    ------------ -
      ------ -
        -------- -------
      -
    -
  -
-

5. Stats Aggregation

Stats Aggregation 返回字段的统计信息,包括计数、最小值、最大值、平均值和总和。例如,获取某个商品的统计信息:

-- -------------------- ---- -------
-
  ------- -
    -------------- -
      -------- -
        -------- -------
      -
    -
  -
-

6. Extended Stats Aggregation

Extended Stats Aggregation 在 Stats Aggregation 的基础上,增加方差、标准差等统计信息。例如,获取某个商品的扩展统计信息:

-- -------------------- ---- -------
-
  ------- -
    ----------------------- -
      ----------------- -
        -------- -------
      -
    -
  -
-

7. Value Count Aggregation

Value Count Aggregation 用于计算字段值的数量。例如,计算某个商品的评论数量:

-- -------------------- ---- -------
-
  ------- -
    ---------------- -
      -------------- -
        -------- ----------
      -
    -
  -
-

8. Cardinality Aggregation

Cardinality Aggregation 用于计算字段的唯一值数量(去重计数)。例如,计算某个商品的唯一用户数:

-- -------------------- ---- -------
-
  ------- -
    --------------- -
      -------------- -
        -------- ---------
      -
    -
  -
-

9. Percentiles Aggregation

Percentiles Aggregation 用于计算字段的百分位数。例如,计算某个商品价格的百分位数:

-- -------------------- ---- -------
-
  ------- -
    -------------------- -
      -------------- -
        -------- -------
      -
    -
  -
-

10. Percentile Ranks Aggregation

Percentile Ranks Aggregation 用于计算字段值的百分位排名。例如,计算某个商品价格的百分位排名:

-- -------------------- ---- -------
-
  ------- -
    ------------------------- -
      ------------------- -
        -------- --------
        --------- ----- ----
      -
    -
  -
-

11. Top Hits Aggregation

Top Hits Aggregation 用于返回每个分组中的前 N 个文档。例如,获取每个商品类别中销量最高的商品:

-- -------------------- ---- -------
-
  ------- -
    ----------------------- -
      -------- -
        -------- ----------
      --
      ------- -
        ------------ -
          ----------- -
            ------- --
            ------- -
              -
                -------- -
                  -------- ------
                -
              -
            -
          -
        -
      -
    -
  -
-

12. Geo Bounds Aggregation

Geo Bounds Aggregation 用于计算地理坐标字段的边界框。例如,计算某个地理区域的边界框:

-- -------------------- ---- -------
-
  ------- -
    ------------- -
      ------------- -
        -------- ----------
      -
    -
  -
-

13. Geo Centroid Aggregation

Geo Centroid Aggregation 用于计算地理坐标字段的质心。例如,计算某个地理区域的质心:

-- -------------------- ---- -------
-
  ------- -
    --------------- -
      --------------- -
        -------- ----------
      -
    -
  -
-
纠错
反馈