Javatpoint标志
Javatpoint标志

Elasticsearch汇总数据

Elasticsearch提供了一个rollup特性,可以帮助汇总索引中的数据,并将其滚动到一个新的索引中。这些存储的数据可以在将来需要时用于分析,但其存储成本只是原始数据的一小部分。在分析过程中保留历史数据是非常有用的。然而,由于归档大量数据的财务成本,有时会避免使用这种方法。

Elasticsearch汇总数据

例如,假设一个系统每天生成4700万个文档,这需要大量内存来存储它们。每一秒,这些数据都对实时分析有用。在历史分析的情况下,如果我们正在寻找超过5年的数据,我们需要在一个大的间隔工作,如每小时或每天的趋势。我们可以通过将这4700万份文档压缩成每小时的摘要来节省大量的空间。

Elasticsearch6.3提供了卷起功能。elasticsearch的rollup特性对于在汇总之后存储历史数据非常有用。这样在总结之后需要更少的内存来存储。请注意,rollup作业是一个周期性任务。

从rollup开始

要开始使用rollup特性,我们必须创建一个或多个“汇总工作”汇总数据。这些作业汇总您指定的索引,并将汇总的文档放在二级索引中。您可以选择您所选择的二级索引来放置这些卷过的文档。这些卷取作业在后台持续运行。

创建索引

首先,我们将创建一个包含不同时间戳的索引。创建索引之后,我们将使用cron作业周期性地创建rollup作业。你的文档可能是-

复制代码

响应

通过执行上面的索引创建查询和时间戳,您将得到与下面给出的相同的响应

添加更多文档到rollupexample索引。

复制代码

创建一个卷起作业

现在我们将使用_rollup API创建一个rollup作业。这些文件按小时汇总成摘要。汇总数据的代码可能看起来像-

复制代码

cron参数有助于控制作业激活。它控制作业激活的时间和频率。当一个rollup作业的cron调度触发时,它将开始从上次激活后离开的位置开始rollup数据的过程。

汇总搜索

一旦作业开始运行并处理了一些数据,我们就可以使用DSL Query来搜索一些数据。查看下面的查询来搜索滚动的数据-

复制代码


下一个话题 AWS Elasticsearch





Youtube 视频加入我们的Youtube频道:现在加入

反馈


帮助别人,请分享

脸谱网 推特 pinterest

学习最新教程


准备


热门的技术


b .技术/马华






Baidu
map