0

在我的弹性搜索中,我将收到格式为 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"
}
}*

但是当我跑步时

获取 dstack-prod_dcbs /_ilm/explain *

以下结果返回

*{
  "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
    }
  }
}*
4

1 回答 1

1

我相信 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 
        }
    }
}

之后,一切都将自动处理,并在翻转时创建一个新索引,然后将其分配为别名的写入索引

于 2020-09-23T05:24:10.020 回答