如何使用Thinking Sphinx临时禁用delta索引?

时间:2011-04-30 13:10:26

标签: ruby-on-rails thinking-sphinx delta-index

我正在进行大规模迁移,并希望禁用增量索引,以便它运行得更快。

有没有办法在任务开始时指定关闭delta索引?

2 个答案:

答案 0 :(得分:13)

两个选项:

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

答案 1 :(得分:9)

对于思考sphinx v3,您可以通过这种方式暂停增量(旧方法已被弃用):

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

因此,如果我有一个名为Job的模型,其索引名为:job,它将如下所示:

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