Как я могу временно отключить дельта-индексирование с помощью Thinking Sphinx?
Я выполняю большую миграцию и хотел бы отключить дельта-индексацию, чтобы она работала намного быстрее.
Есть ли способ указать в начале задачи отключение дельта-индексации?
2 ответа
Решение
Два варианта:
Model.suspended_delta do
# all actions in the block don't fire a delta request
end
# A single delta request gets fired at the end
Или, что может быть лучше в вашей ситуации:
ThinkingSphinx.deltas_enabled = false
И установите его обратно в true
когда вы закончите.
Для размышления о sphinx v3 вы можете приостановить дельты следующим образом (старый способ устарел):
ThinkingSphinx::Deltas.suspend(:index_reference) do
# Do something
end
Поэтому, если у меня есть модель с именем Job с индексом:job, она будет выглядеть так:
ThinkingSphinx::Deltas.suspend(:job) do
# Do Something
end