elasticsearch 模板不改变索引 ILM
elasticsearch template doesn't change index ILM
在我的 elasticsearch 中,我将收到格式如 dstack-prod_dcbs- 的每日索引。我想在它们恢复后立即向它们添加 ILM。我不知道为什么 ILM 没有添加到索引中。下面你可以找到我的命令。(我已经定义了“dstack-prod_dcbs-policy” ILM)
*PUT _template/dstack-prod_dcbs
{
"index_patterns": ["dstack-prod_dcbs-*"],
"settings": {
"index.lifecycle.name": "dstack-prod_dcbs-policy"
}
}*
但是当我运行
GET dstack-prod_dcbs/_ilm/explain*
低于结果 returns
*{
"indices" : {
"dstack-prod_dcbs-20200821" : {
"index" : "dstack-prod_dcbs-20200821",
"managed" : false
},
"dstack-prod_dcbs-2020-09-22" : {
"index" : "dstack-prod_dcbs-2020-09-22",
"managed" : false
}
}
}*
我认为 ILM 是使用每日指数的替代方法,当满足政策中的条件时(而不是当它成为新的一天时),指数会滚动
对于 ILM,您需要为模板定义翻转别名
PUT _template/dstack-prod_dcbs
{
"index_patterns": ["dstack-prod_dcbs-*"],
"settings": {
"index.lifecycle.name": "dstack-prod_dcbs-policy",
"index.lifecycle.rollover_alias": "dstack-prod_dcbs"
}
}
那么您需要手动创建第一个索引并将其指定为别名的写入索引
PUT dstack-prod_dcbs-000001
{
"aliases": {
"dstack-prod_dcbs":{
"is_write_index": true
}
}
}
之后所有事情都将自动处理,并在翻转时创建一个新索引,然后将其指定为别名的写入索引
在我的 elasticsearch 中,我将收到格式如 dstack-prod_dcbs- 的每日索引。我想在它们恢复后立即向它们添加 ILM。我不知道为什么 ILM 没有添加到索引中。下面你可以找到我的命令。(我已经定义了“dstack-prod_dcbs-policy” ILM)
*PUT _template/dstack-prod_dcbs
{
"index_patterns": ["dstack-prod_dcbs-*"],
"settings": {
"index.lifecycle.name": "dstack-prod_dcbs-policy"
}
}*
但是当我运行
GET dstack-prod_dcbs/_ilm/explain*
低于结果 returns
*{
"indices" : {
"dstack-prod_dcbs-20200821" : {
"index" : "dstack-prod_dcbs-20200821",
"managed" : false
},
"dstack-prod_dcbs-2020-09-22" : {
"index" : "dstack-prod_dcbs-2020-09-22",
"managed" : false
}
}
}*
我认为 ILM 是使用每日指数的替代方法,当满足政策中的条件时(而不是当它成为新的一天时),指数会滚动
对于 ILM,您需要为模板定义翻转别名
PUT _template/dstack-prod_dcbs
{
"index_patterns": ["dstack-prod_dcbs-*"],
"settings": {
"index.lifecycle.name": "dstack-prod_dcbs-policy",
"index.lifecycle.rollover_alias": "dstack-prod_dcbs"
}
}
那么您需要手动创建第一个索引并将其指定为别名的写入索引
PUT dstack-prod_dcbs-000001
{
"aliases": {
"dstack-prod_dcbs":{
"is_write_index": true
}
}
}
之后所有事情都将自动处理,并在翻转时创建一个新索引,然后将其指定为别名的写入索引