托管索引
您可以使用托管索引操作更改或更新策略。
此表列出了托管索引操作的字段。
参数 | 描述 | 类型 | 必需 | 只读 |
---|---|---|---|---|
名称 | 托管索引策略的名称。 | 字符串 | 是 | 否 |
index | 此策略正在管理的托管索引的名称。 | 字符串 | 是 | 否 |
index_uuid | 索引的 UUID。 | 字符串 | 是 | 否 |
enabled | 当为 true 时,托管索引将由调度器安排和运行。 | 布尔值 | 是 | 否 |
enabled_time | 托管索引上次启用的时间。如果托管索引进程被禁用,则此项为 null。 | 时间戳 | 是 | 是 |
last_updated_time | 托管索引上次更新的时间。 | 时间戳 | 是 | 是 |
schedule | 托管索引作业的调度。 | 对象 | 是 | 否 |
policy_id | 此托管索引使用的策略名称。 | 字符串 | 是 | 否 |
policy_seq_no | 此托管索引使用的策略的序列号。 | 数字 | 是 | 否 |
policy_primary_term | 此托管索引使用的策略的主术语。 | 数字 | 是 | 否 |
policy_version | 此托管索引使用的策略版本。 | 数字 | 是 | 是 |
policy | 策略在运行期间使用的 policy_version 的缓存 JSON。如果策略为 null,则表示这是作业的首次执行,并且会读取/保存最新的策略文档。 | 对象 | 否 | 否 |
change_policy | 关于要更改为哪个策略和状态的信息。 | 对象 | 否 | 否 |
policy_name | 要更新到的策略名称。要更新到最新版本,请将其设置为与当前 policy_name 相同。 | 字符串 | 否 | 是 |
state | 托管索引更新完成后的状态。如果未指定状态,则假定策略结构未更改。 | 字符串 | 否 | 是 |
以下示例展示了一个托管索引策略
{
"managed_index": {
"name": "my_index",
"index": "my_index",
"index_uuid": "sOKSOfkdsoSKeofjIS",
"enabled": true,
"enabled_time": 1553112384,
"last_updated_time": 1553112384,
"schedule": {
"interval": {
"period": 1,
"unit": "MINUTES",
"start_time": 1553112384
}
},
"policy_id": "log_rotation",
"policy_version": 1,
"policy": {...},
"change_policy": null
}
}
更改策略
您可以更改任何托管索引策略,但 ISM 会施加一些限制,以确保策略更改不会破坏索引。
如果索引停留在当前状态,无法继续,并且您希望立即更新其策略,请确保新策略包含与旧策略相同的状态——相同的名称、相同的操作、相同的顺序。在这种情况下,即使策略正在执行操作中,ISM 也会应用新策略。
如果您在不包含相同状态的情况下更新策略,ISM 只会在当前状态下的所有操作执行完成后才更新策略。或者,您可以在旧策略中选择一个特定状态,在此状态之后您希望新策略生效。
要使用 OpenSearch Dashboards 更改策略,请执行以下操作:
- 在索引管理下,选择要附加新策略的索引。
- 要将新策略附加到特定状态的索引,请选择选择状态过滤器,然后选择这些状态。
- 在选择新策略下,选择新策略。
- 要对处于当前状态的索引启动新策略,请选择策略生效后将索引保持在其当前状态。
- 要在特定状态下启动新策略,请选择更改策略后从所选状态开始,然后在新策略中选择默认的开始状态。