我所使用的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
别名就可以搜到这个当前别名下的数据了。