我想在保持文档版本相同的同时更新ElasticSearch文档。我正在使用versioning section of the index_ documentation中指示的version_type = external。如that section中所示,通常会阻止使用相同版本的另一个文档更新文档:“如果提供的值小于或等于存储文档的版本号,则会发生版本冲突,索引操作将失败。 “
我想保持版本不变的原因是因为我没有为该对象添加新标签时创建我的对象的新版本(存储在我的数据库中),但我希望新标签显示在我的ElasticSearch索引。这可以用ElasticSearch吗?
我尝试删除该文档,然后添加一个具有相同ID和版本的新文档,但仍然给出了以下例外情况:
VersionConflictEngineException [[myindex] [2] [mytype] [6]:版本 冲突,当前1,提供1]
仅供参考,我使用的是PHP Elastica(方法$type->deleteDocument($doc);
和$type->addDocument($doc);
),但这个问题一般适用于ElasticSearch。