Отключить Solr во время перестроения базы данных

Я работаю над проектом rails, который включает в себя драгоценный камень solr sunspot. Я оставил поведение по умолчанию для автоматического обновления индекса при сохранении модели, но мне было интересно, есть ли способ временно отключить индексирование при массовом создании объектов, например, во время процесса rake db:seed. При использовании команды seed я надеялся, что она добавит все объекты, а затем выполнит один большой вызов переиндексации для обновления всей таблицы. Есть идеи?

Спасибо!


person Danny    schedule 03.05.2011    source источник


Ответы (2)


Вы можете установить сеанс Sunspot на StubSessionProxy.

person outoftime    schedule 03.05.2011
comment
Потрясающий! Поэтому я делаю Sunspot::Rails::StubSessionProxy.new(Sunspot.session). Нужно ли повторно включать сеанс после завершения заполнения? Я не уверен, как это сделать. Можешь помочь? - person Danny; 03.05.2011

Также есть это.

По сути, вы должны иметь возможность добавить это в sunspot.yml:

development:
    disabled: true

Это прекрасно работает, если вы запускаете некоторые задачи или запросы непосредственно в БД. Однако, если вы запускаете свое приложение с этим параметром, и в любом месте вашего кода у вас есть что-то вроде:

Sunspot.config.pagination.default_per_page = 50

Затем вы столкнетесь с такой ошибкой:

undefined method `config' for #<Sunspot::Rails::StubSessionProxy:0x007ff6ee33df28>
person yuяi    schedule 25.05.2013