聚合查询-管道聚合

1.avg_bucket 平均桶聚合
{
  "size": 0,
  "aggs": {
    "sales_per_month": {
      "date_histogram": {            //分成每年
        "field": "insert_time",
        "calendar_interval": "year"
      },
      "aggs": {                //每年求和
        "sales": {
          "sum": {
            "field": "id"
          }
        }
      }
    },
    "avg_monthly_sales": {
      "avg_bucket": {   // 平均
        "buckets_path": "sales_per_month>sales"  //sales_per_month 对sales 求平均,sales为0的会抛出 不加入计算
      }
    }
  }
}
2.max_bucket 最大桶聚合
{
  "size": 0,
  "aggs": {
    "sales_per_month": {
      "date_histogram": {            //分成每年
        "field": "insert_time",
        "calendar_interval": "year"
      },
      "aggs": {                //每年求和
        "sales": {
          "sum": {
            "field": "id"
          }
        }
      }
    },
    "avg_monthly_sales": {
      "max_bucket": {  
        "buckets_path": "sales_per_month>sales"  
      }
    }
  }
}
3.min_bucket 最小桶聚合
{
  "size": 0,
  "aggs": {
    "sales_per_month": {
      "date_histogram": {            //分成每年
        "field": "insert_time",
        "calendar_interval": "year"
      },
      "aggs": {                //每年求和
        "sales": {
          "sum": {
            "field": "id"
          }
        }
      }
    },
    "avg_monthly_sales": {
      "min_bucket": {   // 最小
        "buckets_path": "sales_per_month>sales"  //sales为0的会抛出 不加入计算
      }
    }
  }
}
4.sum_bucket 求和聚合
{
  "size": 0,
  "aggs": {
    "sales_per_month": {
      "date_histogram": {            //分成每年
        "field": "insert_time",
        "calendar_interval": "year"
      },
      "aggs": {                //每年求和
        "sales": {
          "sum": {
            "field": "id"
          }
        }
      }
    },
    "avg_monthly_sales": {
      "sum_bucket": {   // 平均
        "buckets_path": "sales_per_month>sales"
      }
    }
  }
}
5.stats_bucket 统计
返回 最大 最小 数量 和 平均
{
  "size": 0,
  "aggs": {
    "sales_per_month": {
      "date_histogram": {            //分成每年
        "field": "insert_time",
        "calendar_interval": "year"
      },
      "aggs": {                //每年求和
        "sales": {
          "sum": {
            "field": "id"
          }
        }
      }
    },
    "avg_monthly_sales": {
      "stats_bucket": {   // 平均
        "buckets_path": "sales_per_month>sales" 
      }
    }
  }
}
5.extended_stats_bucket 扩展统计
返回 最大 最小 数量 和 平均 平方和 方差 偏差 偏差边界
{
  "size": 0,
  "aggs": {
    "sales_per_month": {
      "date_histogram": {            //分成每年
        "field": "insert_time",
        "calendar_interval": "year"
      },
      "aggs": {                //每年求和
        "sales": {
          "sum": {
            "field": "id"
          }
        }
      }
    },
    "avg_monthly_sales": {
      "stats_bucket": {   // 平均
        "buckets_path": "sales_per_month>sales" 
      }
    }
  }
}

你可能感兴趣的:(聚合查询-管道聚合)