时间序列聚合

编辑

此功能处于技术预览阶段,可能会在未来的版本中更改或删除。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 }
    }
  }
}

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

大小

编辑

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

键控

编辑

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

限制

编辑

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

如果与 time_series 聚合结合使用,以下聚合也会失效:auto_date_histogramvariable_width_histogramrare_termsglobalcompositesamplerrandom_samplerdiversified_sampler