时间序列聚合
编辑时间序列聚合
编辑此功能处于技术预览阶段,可能会在未来的版本中更改或删除。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
聚合时,许多聚合性能优化被禁用。例如,按过滤器优化的过滤器或收集模式广度优先(terms
和 multi_terms
聚合强制使用深度优先收集模式)。
如果与 time_series
聚合结合使用,以下聚合也会失效:auto_date_histogram
,variable_width_histogram
,rare_terms
,global
,composite
,sampler
,random_sampler
和 diversified_sampler
。