时间序列聚合编辑

此功能处于技术预览阶段,可能会在未来版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能支持 SLA 的约束。

时间序列聚合查询使用时间序列索引创建的数据。这通常是指标或其他具有时间组件的数据流等数据,并且需要使用时间序列模式创建索引。

可以像其他索引一样将数据添加到时间序列索引中

PUT /my-time-series-index-0/_bulk
{ "index": {} }
{ "key": "a", "val": 1, "@timestamp": "2022-01-01T00:00:10Z" }
{ "index": {}}
{ "key": "a", "val": 2, "@timestamp": "2022-01-02T00:00:00Z" }
{ "index": {} }
{ "key": "b", "val": 2, "@timestamp": "2022-01-01T00:00:10Z" }
{ "index": {}}
{ "key": "b", "val": 3, "@timestamp": "2022-01-02T00:00:00Z" }

要执行时间序列聚合,请指定“time_series”作为聚合类型。当布尔值“keyed”为 true 时,每个桶都会获得一个唯一的键。

GET /_search
{
  "aggs": {
    "ts": {
      "time_series": { "keyed": false }
    }
  }
}

这将返回时间序列中的所有结果,但是更典型的查询将使用子聚合将返回的日期减少到更相关的日期。

大小编辑

默认情况下,时间序列 聚合返回 10000 个结果。“size”参数可用于进一步限制结果。或者,使用子聚合可以限制作为时间序列聚合返回的值的数量。

键控编辑

keyed 参数确定桶是否作为具有每个桶的唯一键的映射返回。默认情况下,keyed 设置为 false,桶作为数组返回。

限制编辑

time_series 聚合有很多限制。使用 time_series 聚合时,许多聚合性能优化都被禁用。例如,按过滤器优化或收集模式广度优先(termsmulti_terms 聚合强制使用深度优先收集模式)。

如果与 time_series 聚合结合使用,以下聚合也将无法工作:auto_date_histogramvariable_width_histogramrare_termsglobalcompositesamplerrandom_samplerdiversified_sampler