elasticsearch模板不会更改索引

fdx2calv  于 2021-06-10  发布在  ElasticSearch
关注(0)|答案(1)|浏览(657)

在我的elasticsearch中,我将收到格式为dstack-prod\u dcbs-的每日索引。我想在他们复活后立即向他们添加ilm。我不知道为什么ilm没有添加到索引中。下面是我的命令。(我已经定义了“dstack-prod\u dcbs-policy”ilm)


* PUT _template/dstack-prod_dcbs

{
  "index_patterns": ["dstack-prod_dcbs-*"], 
  "settings": {
    "index.lifecycle.name": "dstack-prod_dcbs-policy"
}
}*

但当我跑的时候
获取dstack-prod\u dcbs/\u ilm/解释*
低于结果返回


* {

  "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
    }
  }
}*
0g0grzrc

0g0grzrc1#

我认为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 
        }
    }
}

之后,所有内容都将自动处理,并在滚动更新时创建一个新索引,然后将其指定为别名的写索引

相关问题