Как сделать атомарные обновления для solr с помощью pysolr?

#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. можем ли мы увеличить переменную таким же образом?