How can I temporarily disable delta indexing with Thinking Sphinx?

2.3k views Asked by At

I am running a big migration and would like to disable delta indexing so it runs much faster.

Is there a way to specify in the beginning of the task to turn delta indexing off?

2

There are 2 answers

1
pat On BEST ANSWER

Two options:

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

Or, what may be better in your situation:

ThinkingSphinx.deltas_enabled = false

And set it back to true when you're done.

1
mscriven On

For thinking sphinx v3, you can suspend the deltas this way (the old way is deprecated):

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

So if I have a model called Job with an index named :job, it would look like this:

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