rollover api

325 阅读2分钟

Elasticsearch: rollover API_Elastic 中国社区官方博客的博客-CSDN博客

rollover API 使你可以根据索引大小,文档数或使用期限自动过渡到新索引。 当 rollover 触发后,将创建新索引,写别名(write alias) 将更新为指向新索引,所有后续更新都将写入新索引。

rollover功能是先创建一个带别名的索引,然后设定一定的规则,当满足该设定规则(比如间隔了一段时间或者索引大小超过一定阈值后)的时候,Elasticsearch会自动建立新的索引,别名也会自动切换指向新的索引,这样相当于在物理层面自动建立了索引的分区功能,当查询数据落在一段时间内时,会到一个相对小的索引中查询,相对所有数据都在一个大索引里的情况,显然也就加快了查询的效率。

就像上面的图片看到的那样,我们定义了一个叫做 logs-alias 的alias,对于写操作来说,它总是会自动指向最新的可以用于写入index 的一个索引。针对我们上面的情况,它指向 logs-000002。如果新的 rollover 发生后,新的 logs-000003 将被生成,并对于写操作来说,它自动指向最新生产的 logs-000003 索引。而对于读写操作来说,它将同时指向最先的 logs-1,logs-000002 及 logs-000003。在这里我们需要注意的是:在我们最早设定 index 名字时,最后的一个字符必须是数字,比如我们上面显示的 logs-1。否则,自动生产 index 将会失败。