【问题标题】:How to do date histogram again after date histogram aggregation?日期直方图聚合后如何再次做日期直方图?
【发布时间】:2020-04-02 16:00:06
【问题描述】:

现在我的聚合是 5 分钟的日期直方图聚合,然后每 5 分钟对结果求和。

现在我的 DSL 类似于:

{
  "size": 0,
  "query": {
    "bool": {
      "filter": [
        {
          "range": {
            "time": {
              "gt": "2020-03-31 11:30:00",
              "lt": "2020-03-31 13:00:00"
            }
          }
        },
        {
          "term": {
            "domain": "s3plus-shon.meituan.net"
          }
        }
      ]
    }
  },
  "aggs": {
    "flux_stats": {
      "date_histogram": {
        "field": "time",
        "interval": "5m",
        "format": "yyyy-MM-dd HH:mm:ss"
      },
      "aggs": {
        "flux": {
          "sum": {
            "field": "visit_flux"
          }
        }
      }
    }
  }
}

但我想再次对结果进行日期直方图子聚合,间隔为 30 分钟,需要每 30 分钟找到最大值,我该怎么做?

【问题讨论】:

  • 您找到解决方案了吗?

标签: elasticsearch elasticsearch-aggregation


【解决方案1】:

您可以这样做:首先使用 30m 间隔并获取每个 30m 周期的最大值,然后使用 5m 子间隔和 5m 周期的总和。

{
  "size": 0,
  "query": {
    "bool": {
      "filter": [
        {
          "range": {
            "time": {
              "gt": "2020-03-31 11:30:00",
              "lt": "2020-03-31 13:00:00"
            }
          }
        },
        {
          "term": {
            "domain": "s3plus-shon.meituan.net"
          }
        }
      ]
    }
  },
  "aggs": {
    "flux_stats": {
      "date_histogram": {
        "field": "time",
        "interval": "30m",
        "format": "yyyy-MM-dd HH:mm:ss"
      },
      "aggs": {
        "flux": {
          "max": {
            "field": "visit_flux"
          }
        },
        "flux_stats": {
          "date_histogram": {
            "field": "time",
            "interval": "5m",
            "format": "yyyy-MM-dd HH:mm:ss"
          },
          "aggs": {
            "flux": {
              "sum": {
                "field": "visit_flux"
              }
            }
          }
        }
      }
    }
  }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-13
    • 2020-04-27
    • 1970-01-01
    相关资源
    最近更新 更多