Как я могу временно отключить дельта-индексацию с помощью Thinking Sphinx? - PullRequest
5 голосов
/ 30 апреля 2011

Я выполняю большую миграцию и хотел бы отключить дельта-индексацию, чтобы она работала намного быстрее.

Есть ли способ указать в начале задачи, чтобы отключить дельта-индексацию?

Ответы [ 2 ]

13 голосов
/ 01 мая 2011

Два варианта:

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, когда закончите.

9 голосов
/ 04 августа 2013

Для размышления о sphinx v3 вы можете приостановить дельты следующим образом (старый способ устарел):

ThinkingSphinx::Deltas.suspend(:index_reference) do
  # Do something
end

Так что, если у меня есть модель с именем Job с индексом: job, она будет выглядетькак это:

ThinkingSphinx::Deltas.suspend(:job) do
  # Do Something
end
...