将索引生命周期策略应用于现有的 Elasticsearch 索引
虽然索引模板通常用于自动将索引生命周期管理 (ILM) 策略应用于新索引,但有时您可能需要将策略应用于现有索引。本页面介绍了如何通过 Kibana 或使用 Elasticsearch API 手动为索引分配 ILM 策略,确保您的现有数据按照生命周期规则进行管理。如果您想要执行以下操作,这将非常有用:
警告
在手动将策略应用于索引之前,请考虑以下事项:
- 如果索引当前由 ILM 策略管理,则必须先移除该策略,然后才能应用新策略。要移除或更改当前应用于一个或多个索引的 ILM 策略,或者将索引切换为使用不同的策略,请参阅更新或切换 Elasticsearch 索引生命周期策略。
- 请勿手动应用使用滚动更新 (rollover) 操作的策略。使用滚动更新的策略必须通过索引模板进行应用。否则,当滚动更新操作创建新索引时,该策略将不会被延续。有关支持滚动更新的现有索引迁移方法,请参阅迁移到 ILM。
您可以在 Kibana 中或使用 Elasticsearch API 执行此操作。
要将生命周期策略应用于现有索引
使用导航菜单或全局搜索字段转到 Index Management 页面。
在 Indices(索引)选项卡中,搜索并选择一个索引。启用 Include hidden indices(包含隐藏索引)以查看完整的索引列表。
从 Manage index(管理索引)下拉菜单中选择 Add lifecycle policy(添加生命周期策略)。
选择一个生命周期策略并确认您的更改。
使用更新设置 API 将生命周期策略应用于索引。
PUT my-index/_settings
{
"index": {
"lifecycle": {
"name": "my_ilm_policy"
}
}
}
当调用 API 时,您可以通过在索引名称中使用通配符,将同一策略应用于多个索引。
PUT my-indices*/_settings
{
"index": {
"lifecycle": {
"name": "my_ilm_policy"
}
}
}
警告
请小心,不要无意中匹配到您不想修改的索引。
策略应用后,ILM 会立即开始管理该索引。