如何合并旧数据以在 Elasticsearch 中保存 space

How to merge old data to save space in Elasticsearch

我试图找到有关此的信息,但我没有找到我要找的东西。

我每分钟都会在 Elasticsearch 数据库中存储指标。我的想法是频率只在短时间内很重要。

例如,我想在过去一周的每一分钟都有我的指标,但我想合并这些指标,以便在过去几周只有一个指标文档。

因此,我有了一个想法,可以使用流处理框架(例如 Spark streaming 或 Flink)来实现这一点,但我的问题是:是否有 native way / tool / tricks在 Elasticsearch 中实现它?

谢谢,希望我的问题足够清楚,否则请发表评论以了解更多详情。

一个想法是有一个每周索引,您每分钟在其中存储所有指标,一周过去后,您可以 运行 对过去一周的索引进行聚合查询并将所有信息聚合在日或周级别。然后,您将该每周汇总信息作为新文档存储在另一个历史索引中,您可以稍后查询。我认为没有必要为此利用 Spark 流,ES 聚合可以很容易地完成这项工作。