试试搜索一下吧

elasticsearch生命周期管理索引失效

Elasticsearch | 作者 es_damagez | 发布于2020年01月15日 | 阅读数:3297

创建policy之后,创建
PUT _template/logs_template
{
"index_patterns": ["logs-*"],
"settings": {
"number_of_shards": 1,
"number_of_replicas": 1,
"index.lifecycle.name": "testpolicy",
"index.lifecycle.rollover_alias": "logs_write"
}
}
然后:
GET logs-*/_ilm/explain
返回
"indices" : {
"logs-2020.01.14-000003" : {
"index" : "logs-2020.01.14-000003",
"managed" : false
},
"logs-2020.01.14-000002" : {
"index" : "logs-2020.01.14-000002",
"managed" : false
},
"logs-2020.01.14-1" : {
"index" : "logs-2020.01.14-1",
"managed" : false
}
}
请问:怎么才能让"managed" : true
已邀请:

es_damagez

赞同来自:

发现建立生命周期管理的时候要先创建policy建立_template,然后才创建索引,才会被管理到。如果先创建索引,在建立_template,这时会出现"managed": false

es_damagez

赞同来自:

我发现es没有将"managed": false索引纳入policy管理的API,只有将"managed": true移除管理的API。
 
因此如果需要将"managed": false变为"managed": true,只能创建一个匹配_template的索引,然后进行reindex。新的索引会被纳入policy管理。
 
至于为什么es不弄一个API可以将"managed": false索引纳入policy管理,我没有想明白,希望有大神可以解答一下。

要回复问题请先登录注册