在 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。(您认为这意味着您要重新索引多少文档)
假设我有一个索引 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。(您认为这意味着您要重新索引多少文档)