3

私は検索に思考スフィンクスを使用しています.properltを検索しますが、問題は新しいレコードを追加するたびにrake thinking_sphinx:indexを手動で実行する必要があることでした。私がしなければなりません

rake think_sphinx:index

また

インデックスを自動的に作成するときはいつでも -w

以下は config/schedule.rb のコードです:

every 10.minutes do
  rake "thinking_sphinx:index", :environment => :development
end

every :reboot do
  rake "thinking_sphinx:start",:environment => :development
end

crontab -li を実行すると、次のようになります。

# Begin Whenever generated tasks for: store
@reboot /bin/bash -l -c 'cd /home/user/newsvn/alumnicell && RAILS_ENV=development bundle exec rake thinking_sphinx:start --silent'

0,10,20,30,40,50 * * * * /bin/bash -l -c 'cd /home/user/newsvn/alumnicell && RAILS_ENV=development bundle exec rake thinking_sphinx:index --silent'

# End Whenever generated tasks for: store

これが機能しないという問題は何ですか?

また、環境を開発に変更しました。デフォルトでは本番環境でした。これら2つの違いは何ですか?

4

2 に答える 2

0

10 分ごとに cron ジョブを使用して思考スフィンクスを再構築する代わりに、思考スフィンクスのデルタ インデックスを使用することをお勧めします。

ここで説明されているように、ブール列deltaをモデルに追加し、ブロックに設定set_property :delta => trueして実行するだけですdefine_indexrake ts:rebuild

それでおしまい。

于 2012-11-20T04:59:37.857 に答える
0

エラーを追跡するためにログ ファイルを割り当てて、ここに投稿できます。

:environmentまた、グローバルに設定することをお勧めします。

このコードを試してください:

set :environment, :development
set :output, 'tmp/whenever.log'

every 10.minutes do
  rake "thinking_sphinx:index"
end

every :reboot do
  rake "thinking_sphinx:start"
end
于 2012-05-29T14:18:21.793 に答える