在ruby代码中更新思考sphinx索引

bra*_*r19 7 ruby sphinx ruby-on-rails thinking-sphinx

我有应用程序,运行在ubuntu 12.04上,使用nginx +乘客在我的方法中我尝试重建sphinx索引所以:

  def update_sphinx_index
    Rails.application.load_tasks
    Rake::Task['ts:rebuild'].invoke
    redirect_to admin_mainpage_path
  end
Run Code Online (Sandbox Code Playgroud)

我也尝试:

`rake ts:index`
Run Code Online (Sandbox Code Playgroud)

但没有任何事情发生,sphinx指数不会重建.我做错了什么?也许我需要用一些特权或其他东西来做这件事,因为当我做rake ts:在命令终端重建一切都很好,并且索引重建.

Osc*_*ett 3

ts:rebuild停止 sphinx,重建索引,然后重新启动,并且仅当您更改了索引结构时才应运行。

ts:index相反,如果您只是添加新数据,则应该运行。

至于为什么 rake 任务没有执行,可能是你的搜索守护进程仍在运行。