我找不到关于如何使用pysolr更新solr的正确文档。
答案 0 :(得分:6)
截至2014年11月,pysolr支持atomic updates。这是一个简单的例子:
url_solr = '''http://my.solr.com:8983/solr/mycore'''
solr = pysolr.Solr(url_solr)
doc = {'id':'rabid bananas', 'comment':'now half off!'}
solr.add([doc], fieldUpdates={'comment':'set'})
# the id 'rabid bananas' now has an updated comment
答案 1 :(得分:1)
您目前无法使用PySolr对Solr进行原子更新。有一个拉动:
https://github.com/toastdriven/pysolr/pull/99
但它尚未合并。最后评论不到一个月前,如果您感兴趣我会对其发表评论 - 或者如果您愿意,可以尝试自己合并代码。
答案 2 :(得分:0)
使用相同的唯一Solr ID并像往常一样(使用solr.add)将覆盖/更新文档。 因此,您可以编写新文档,设置唯一ID以匹配您要更新的旧文档,或者您可以提取旧文档,进行更改并使用该更新文档进行新写入;由于它的ID相同,你仍然会覆盖/更新。