Elasticsearch:恢复具有不同分片数的快照

Elasticsearch: Restore snapshot with different shards number

我创建了一个 Elasticsearch snapshot 并想用不同数量的分片恢复它:我的旧集群为每个索引使用 5 个分片,我想将它减少到 2 个分片。

是否可以通过 Elasticsearch 快照 API 以某种方式做到这一点?

Elasticsearch 快照 API 无法做到这一点。 内部快照是按分片拍摄的,也以相同的方式恢复。

-- 编辑 ---

我们现在有 shrink API ,它可以减少数字碎片,但只能减少到一个可取的数字。

我假设你在谈论副本(因为我之前有过类似的问题):

POST /_snapshot/my_backup/snapshot_1/_restore
{
  "indices": "index_1",
  "index_settings": {
    "index.number_of_replicas": 0
  },
  "ignore_index_settings": [
    "index.refresh_interval"
  ]
}

The document 这行代码可以在恢复过程中更改您的副本数。

但是,分片数量将无法更改。

您是否有任何理由想要更改分片? (如果你不是在谈论副本)

编辑一: 要更改分片,如@Vineeth Mohan 所说,据我所知,重新索引是唯一的方法。

恢复到分片数量错误的虚拟索引。

然后使用正确数量的分片重新索引到新索引。