在我们的应用程序中,我们每天创建elasticsearch索引,索引模式是index-。(例如,指数-17-09-2019年)。但是我们的应用程序通过一个别名访问索引,别名指向当前索引。现在,通过cron作业附加和删除带有索引的别名。是否可以通过索引模板来完成,因为我们正在避免cron作业。我们可以通过索引模板使用索引附加别名,但我不确定是否可以将别名与旧索引分离,并通过索引模板将其添加到新索引中。
发布于 2019-09-17 12:53:00
这可以通过内置索引生命周期管理(ILM)来完成。您的应用程序将向索引别名发送数据,ILM将处理其余部分。
这里是对如何实现它的描述,但基本上您需要:
1.创建ILM作业
PUT /_ilm/policy/my_policy
{
"policy": {
"phases": {
"hot": {
"actions": {
"rollover": {
"max_age": "1d"
}
}
}
}
}
}2.使用附加的ILM策略创建索引模板
PUT _template/my_template
{
"index_patterns": ["test-*"],
"settings": {
"number_of_shards": 1,
"number_of_replicas": 1,
"index.lifecycle.name": "my_policy",
"index.lifecycle.rollover_alias": "test-alias"
}
}3.通过创建init索引启动进程
PUT test-000001
{
"aliases": {
"test-alias":{
"is_write_index": true
}
}
}这将帮助您每天在没有外部CRON作业的情况下创建新索引。您还可以扩展您的策略,稍后扩展到例如在滚转后7天后删除旧指数。
希望这能有所帮助。
https://stackoverflow.com/questions/57974267
复制相似问题