Elasticsearch克隆索引

时间:2024-04-25 07:16:24

我所使用的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_replicasindex.auto_expand_replicas。还可以指定alias,如下所示:

{
  "settings": {
    "index.number_of_shards": 1 
  },
  "aliases": {
    "test_1": {
      "filter": {
        "term": {
          "label": "test_label"
        }
      }
    }
  }
}

这样通过test_1别名就可以搜到这个当前别名下的数据了。