我有一个包含 60k 文档的 Solr 核心。我已经更新了 schema.xml 中的字段类型,并且我不想删除 Solr 核心以进行重新索引。我正在尝试使用 Solr 搜索检索文档,然后尝试将具有相同 ID 的相同文档添加回 Solr。在这样做时,我遇到了版本冲突。
示例: 我使用 Pysolr 搜索请求检索一个文档。该文档如下所示:
doc = {
"type":"person",
"lastname":"Johnson",
"firstname":"Bobby",
"id":"person_abcd",
"_version_":1691404871556661248}
上面的文档仍然存在于 Solr 中,我不想更改它。我想重新索引它/再次将其添加回 Solr,因为 schema.xml 中的字段类型已更改。
当我做:
import pysolr
core = pysolr.Solr('http://localhost:10000/solr/core', always_commit=True)
core.add(doc)
我收到以下错误:
pysolr.SolrError: Solr responded with an error (HTTP 409): [Reason: version conflict for person_abcd expected=1691404871556661248 actual=1691426574942863360]
为什么“实际”版本会发生变化,而不是“预期”版本?
我该如何解决这个问题(示例表示赞赏)?