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