maeshimaの日記

メモ書きです

thinking_sphinx の rake コマンドまとめ

インデックスとコンフィグの作成

下記のうちのどれでもOK。

rake thinking_sphinx:index
rake ts:index
rake ts:in

デフォルトでは、インデックスの作成に加えてコンフィグファイルも生成される。インデックスの作成だけしたいときには

rake thinking_sphinx:reindex

とする。逆にコンフィグだけ作りたいときには下記のどれかを実行する

rake thinking_sphinx:configure
rake ts:conf
rake ts:config

sphinx の実行と停止

rake thinking_sphinx:start
rake ts:start
rake thinking_sphinx:stop
rake ts:stop

インデックスの再構築

インデックスの元データを変更したときには再構築およびsphinxの再起動が必要。indexしてstopしてstartしてもいいけど、それらをひとまとめにした rake コマンドも用意されている。

rake thinking_sphinx:rebuild
rake ts:rebuild

増分インデックス

sphinxはフィールドの一部だけ更新することができない。そのようなときは全部更新する必要がある。thinking_sphinxではこの問題に対応するために、通常のインデックスの他に増分インデックスを用意している。

増分インデックスを使うための方法は下記の三つ。

  • 変更フラグを見る(デフォルト)
  • 更新時間を見る
  • 変更フラグを見つつ delayed_job を利用

delayed_job 使うなら下記のコマンドを実行する

rake thinking_sphinx:delayed_delta
rake ts:dd

cron等で定期的に実行するなら下記のコマンドを実行する。

rake thinking_sphinx:index:delta
rake ts:dd

増分インデックスの具体的なやりかたは別途まとめる予定。