在 Elasticsearch 中重新索引超过 10k 的文档

Reindexing more than 10k documents in Elasticsearch

假设我有一个索引 A。它包含 26k 个文档。现在我想更改类型为 Keyword 的字段 status。由于我无法更改已经存在的 A 的 status 字段类型,因此我将创建一个新索引:B 并设置我想要的类型。 我关注了 reindex API:

POST _reindex
{
  "source": {
    "index": "A",
    "size": 10000
  },
  "dest": {
    "index": "B",
    "version_type": "external"
  }
}.

但问题是,我这里只能迁移10k docs。如何复制其余的?
如何复制所有文档而不丢失任何文档?

删除size: 10000,问题就解决了。

顺便说一下,Reindex API 中的 size 字段意味着 elasticsearch 每次应该使用多大的批量大小来获取和重新索引文档。默认情况下,批量大小为 100。(您认为这意味着您要重新索引多少文档)