我所使用的Elasticsearch的版本是基于7.17.7。
需求是将某个ES的索引进行克隆。例如我要将索引test_0419_1
克隆一份新的索引test_0419_2
。步骤如下:
- 首先将源索引进行修改
PUT /test_0419_1/_block/write
,即禁止对这个索引进行写数据操作。 - 然后执行克隆操作:
POST test_0419_1/_clone/test_0419_2
{"settings": {"index.number_of_shards": 1 }
}
在克隆时,可以指定index.number_of_replicas
和index.auto_expand_replicas
。还可以指定alias
,如下所示:
{"settings": {"index.number_of_shards": 1 },"aliases": {"test_1": {"filter": {"term": {"label": "test_label"}}}}
}
这样通过test_1
别名就可以搜到这个当前别名下的数据了。