居然是你

索引管理,一个好的建议(有认识官方的,可以反馈一下)

Elasticsearch | 作者 2bqianbi | 发布于2020年03月13日 | 阅读数:1756

我们场景是:每天做全量,全量索引名abc-20200313-0130,创建完后,老索引删除别名abc后close掉,新索引加别名abc,增量or前台查询,就用abc调用;
怎么找老的索引切别名,怎么删除历史最早的索引(只保留2个备份索引),这一部分实现的就不太优雅(通过通配符要找老索引,然后看有没挂别名,删除历史最早的,也是把老索引按照文件名排个序)。

感觉官方对这种方式支持的就不是很好(也有可能我没找对路子),希望有谁能够得着官方的,可以帮忙提个建议

想建议官方:
1)别名上增加一个主别名概念major_alias,这个和索引是一对一的,同一索引,只能设置一个major_alias
2)索引能有个group_name,以上面为例,group_name就是abc,我可以通过abc找到所有相关索引,并且可以按内置的创建时间自动排个序
3)同一group_name的,可以设一些策略:
3.1)比如docs至少要达到多少,才能标记为有效索引?
3.2)同一group_name,最多保留几份有效且open的索引?(open主动切major_alias,只读可以保留多份,超过阈值的自动去除marjor_alias,然后close掉)
3.2)close索引里,历史最多保留几份??达到这个值,最早的会被自动删除

如果是以上关系的话
1)通过group_name,就可以很直观得出以下比较扁平化的数据:
group_name,index_name,marjor_alias,status,create_time
2)通过index_name,可以很直观得到marjor_alias
3)通过major_alias,可以自己得到对应的index_names,其实比较建议是一个group,只能有一个major_alias
4)很方便做索引切换和回滚
已邀请:

medcl - 今晚打老虎。

赞同来自:

group可以通过 Index pattern 来管理;
索引的生命周期管理有 ILM,完全可以实现你的这个定期维护多少副本的需求。
https://www.elastic.co/guide/e ... .html

要回复问题请先登录注册