我首先通过创建索引的新版本来更新索引架构,然后将当前索引复制到新索引中。
PUT /users_v2
{}
POST /_reindex
{
"source": {
"index": "users_v1"
},
"dest": {
"index": "users_v2"
}
}
// ... then update aliases
我的
users_v1
索引有大约250万个文档。重新编制索引时,该过程会在~0.5m个文档处停止。通过
停止
我不是说http请求挂起,重新编制索引的过程会同时停止。
新索引包含一个新的关键字字段(由于允许动态更新,该字段可能已存在于当前索引中,也可能不存在)。
现有的文本/关键字字段不仅仅是关键字字段-
从-
"f1": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
对-
"fcm_subscription_id": {
"type": "keyword"
}
除此之外,其他一切都是一样的。
什么会导致重新索引过程停止或无法复制现有索引中的所有文档?
编辑:
我试图重新索引到同一个模式中,以排除坏的模式更改。对同一架构重新编制索引的结果相同。