#solr #pysolr
#solr #pysolr
Вопрос:
Я не могу найти достойную документацию о том, как вносить обновления в solr с помощью pysolr.
Комментарии:
1. не могли бы вы уточнить, что вы подразумеваете под атомарными обновлениями?
Ответ №1:
По состоянию на ноябрь 2014 года атомарные обновления поддерживаются с помощью 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
Ответ №2:
В настоящее время вы не можете выполнять атомарные обновления для Solr с помощью PySolr. Для этого есть тяга:
https://github.com/toastdriven/pysolr/pull/99
Но это еще не было объединено. Последний комментарий был менее месяца назад, если вам интересно, я бы прокомментировал его — или попробуйте объединить код самостоятельно, если вы чувствуете это.
Ответ №3:
Использование того же уникального идентификатора Solr и запись как обычно (с помощью solr.add) перезапишут / обновят документ. Итак, вы можете просто написать новый документ, установив уникальный идентификатор, соответствующий старому, который вы хотите обновить, или вы можете извлечь старый документ, внести изменения и получить новую запись, используя этот обновленный документ; поскольку его тот же идентификатор, вы все равно будете перезаписывать / обновлять.
Комментарии:
1. можем ли мы увеличить переменную таким же образом?