迁移到数据层路由 API编辑

将索引、ILM 策略以及旧版、可组合和组件模板从使用自定义节点属性和 基于属性的分配过滤器 切换为使用 数据层,并可以选择删除一个旧版索引模板。使用节点角色使 ILM 能够 自动在数据层之间移动索引

可以按照 将索引分配过滤器迁移到节点角色 页面中所述,手动执行从自定义节点属性路由迁移。

此 API 提供了一种自动执行 迁移指南 中列出的四个手动步骤中的三个步骤的方法。

请求编辑

POST /_ilm/migrate_to_data_tiers

API 接受一个可选的正文,允许您指定

  • 要删除的旧版索引模板名称。默认为无。
  • 用于索引和 ILM 策略分配过滤的自定义节点属性名称。默认为 data

先决条件编辑

查询参数编辑

dry_run
(可选,布尔值) 如果为 true,则模拟从基于节点属性的分配过滤器到数据层的迁移,但不执行迁移。这提供了一种检索需要迁移的索引和 ILM 策略的方法。默认为 false

在模拟迁移时(即 dry_runtrue),无需停止 ILM。

示例编辑

以下示例将索引、ILM 策略、旧版模板、可组合和组件模板从使用 custom_attribute_name 节点属性定义自定义分配过滤迁移,如果系统中存在名为 global-template 的旧版模板,则将其删除。

response = client.ilm.migrate_to_data_tiers(
  body: {
    legacy_template_to_delete: 'global-template',
    node_attribute: 'custom_attribute_name'
  }
)
puts response
POST /_ilm/migrate_to_data_tiers
{
  "legacy_template_to_delete": "global-template",
  "node_attribute": "custom_attribute_name"
}

如果请求成功,将收到类似以下的响应

{
  "dry_run": false,
  "removed_legacy_template":"global-template", 
  "migrated_ilm_policies":["policy_with_allocate_action"], 
  "migrated_indices":["warm-index-to-migrate-000001"], 
  "migrated_legacy_templates":["a-legacy-template"], 
  "migrated_composable_templates":["a-composable-template"], 
  "migrated_component_templates":["a-component-template"] 
}

显示已删除的旧版索引模板的名称。如果未删除任何旧版索引模板,则此项将缺失。

已更新的 ILM 策略。

已迁移到 层级偏好 路由的索引。

已更新为不包含为提供的数据属性提供的自定义路由设置的旧版索引模板。

已更新为不包含为提供的数据属性提供的自定义路由设置的可组合索引模板。

已更新为不包含为提供的数据属性提供的自定义路由设置的组件模板。