3

我找不到关于如何使用 pysolr 对 solr 进行更新的体面文档。

4

3 回答 3

10

截至 2014 年 11 月,pysolr 支持原子更新。这是一个简单的例子:

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
于 2016-01-28T17:58:10.003 回答
1

您目前无法使用 PySolr 对 Solr 进行原子更新。它有一个吸引力:

https://github.com/toastdriven/pysolr/pull/99

但它还没有被合并。上一条评论不到一个月前,如果您有兴趣,我会评论它 - 或者如果您愿意,请尝试自己合并​​代码。

于 2014-06-27T01:20:13.587 回答
1

使用相同的唯一 Solr ID 并像往常一样写入(使用 solr.add)将覆盖/更新文档。因此,您可以只编写新文档,设置唯一 ID 以匹配您要更新的旧文档,或者您可以提取旧文档,进行更改并使用更新后的文档进行新的写入;因为它的 ID 相同,您仍将覆盖/更新。

于 2014-08-28T21:26:59.817 回答