克隆索引
1.0 版引入
克隆索引 API 操作将现有只读索引中的所有数据克隆到一个新索引中。新索引不能已存在。
端点
POST /<source-index>/_clone/<target-index>
PUT /<source-index>/_clone/<target-index>
索引命名限制
OpenSearch 索引有以下命名限制:
- 所有字母必须是小写。
- 索引名称不能以下划线 (
_) 或连字符 (-) 开头。 -
索引名称不能包含空格、逗号或以下字符:
:、"、*、+、/、\、|、?、#、>或<
路径参数
| 参数 | 类型 | 描述 |
|---|---|---|
| <source-index> | 字符串 | 要克隆的源索引。 |
| <目标索引> | 字符串 | 要创建并添加克隆数据的索引。 |
查询参数
您的请求必须包含源索引和目标索引。所有其他克隆索引参数都是可选的。
| 参数 | 类型 | 描述 |
|---|---|---|
| wait_for_active_shards | 字符串 | 在 OpenSearch 处理请求之前必须可用的活动分片数量。默认值为 1(仅主分片)。设置为 all 或一个正整数。大于 1 的值需要副本。例如,如果您指定的值为 3,则索引必须有两个副本分布在另外两个节点上,操作才能成功。 |
| cluster_manager_timeout | 时间 | 等待连接到集群管理器节点的时间。默认值为 30s。 |
| timeout | 时间 | 等待请求返回的时间。默认值为 30s。 |
| wait_for_completion | 布尔型 | 当设置为 false 时,请求会立即返回,而不是在操作完成后返回。要监控操作状态,请使用 任务 API 和请求返回的任务 ID。默认值为 true。 |
| task_execution_timeout | 时间 | 明确的任务执行超时时间。仅当 wait_for_completion 设置为 false 时有用。默认值为 1h。 |
请求正文
克隆索引 API 操作会创建一个新的目标索引,因此您可以指定任何 索引设置 和 别名 以应用于目标索引。
请求示例
PUT /sample-index1/_clone/cloned-index1
{
"settings": {
"index": {
"number_of_shards": 2,
"number_of_replicas": 1
}
},
"aliases": {
"sample-alias1": {}
}
}
示例响应
{
"acknowledged": true,
"shards_acknowledged": true,
"index": "cloned-index1"
}