Yon*_*ciu 5 ruby-on-rails thinking-sphinx delta-index
我正在运行大型迁移,并希望禁用delta索引,以便它运行得更快.
有没有办法在任务开始时指定关闭delta索引?
pat*_*pat 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
Run Code Online (Sandbox Code Playgroud)
或者,在您的情况下可能会更好:
ThinkingSphinx.deltas_enabled = false
Run Code Online (Sandbox Code Playgroud)
并true在完成后将其重新设置.
对于思考sphinx v3,您可以通过这种方式暂停增量(旧方法已弃用):
ThinkingSphinx::Deltas.suspend(:index_reference) do
# Do something
end
Run Code Online (Sandbox Code Playgroud)
因此,如果我有一个名为Job的模型,其索引名为:job,它将如下所示:
ThinkingSphinx::Deltas.suspend(:job) do
# Do Something
end
Run Code Online (Sandbox Code Playgroud)