Elasticsearch 中 Pipeline 聚合有哪些?

推荐答案

在 Elasticsearch 中,Pipeline 聚合是一种特殊的聚合类型,它允许你在其他聚合的结果上进行进一步的计算和处理。常见的 Pipeline 聚合包括:

  1. Bucket Script Aggregation:允许你在多个桶聚合的结果上执行脚本计算。
  2. Bucket Selector Aggregation:用于根据条件筛选桶。
  3. Cumulative Sum Aggregation:计算累积和。
  4. Derivative Aggregation:计算指标的导数。
  5. Moving Function Aggregation:对时间序列数据应用移动窗口函数。
  6. Normalize Aggregation:对指标进行归一化处理。
  7. Serial Differencing Aggregation:计算时间序列数据的差分。
  8. Stats Bucket Aggregation:计算多个桶的统计信息。
  9. Sum Bucket Aggregation:对多个桶的值进行求和。
  10. Extended Stats Bucket Aggregation:计算多个桶的扩展统计信息。
  11. Percentiles Bucket Aggregation:计算多个桶的百分位数。
  12. Bucket Sort Aggregation:对桶进行排序。

本题详细解读

1. Bucket Script Aggregation

Bucket Script Aggregation 允许你在多个桶聚合的结果上执行脚本计算。例如,你可以计算两个不同桶的值的差值。

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

2. Bucket Selector Aggregation

Bucket Selector Aggregation 用于根据条件筛选桶。例如,你可以筛选出销售额大于某个值的桶。

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

3. Cumulative Sum Aggregation

Cumulative Sum Aggregation 用于计算累积和。例如,你可以计算每个月的销售额的累积和。

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

4. Derivative Aggregation

Derivative Aggregation 用于计算指标的导数。例如,你可以计算销售额的变化率。

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

5. Moving Function Aggregation

Moving Function Aggregation 用于对时间序列数据应用移动窗口函数。例如,你可以计算销售额的移动平均值。

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

6. Normalize Aggregation

Normalize Aggregation 用于对指标进行归一化处理。例如,你可以将销售额归一化到 0 到 1 之间。

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

7. Serial Differencing Aggregation

Serial Differencing Aggregation 用于计算时间序列数据的差分。例如,你可以计算销售额的差分。

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

8. Stats Bucket Aggregation

Stats Bucket Aggregation 用于计算多个桶的统计信息。例如,你可以计算每个月的销售额的统计信息。

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

9. Sum Bucket Aggregation

Sum Bucket Aggregation 用于对多个桶的值进行求和。例如,你可以计算所有月份的销售额总和。

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

10. Extended Stats Bucket Aggregation

Extended Stats Bucket Aggregation 用于计算多个桶的扩展统计信息。例如,你可以计算每个月的销售额的扩展统计信息。

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

11. Percentiles Bucket Aggregation

Percentiles Bucket Aggregation 用于计算多个桶的百分位数。例如,你可以计算每个月的销售额的百分位数。

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

12. Bucket Sort Aggregation

Bucket Sort Aggregation 用于对桶进行排序。例如,你可以按销售额对月份进行排序。

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