何らかの理由で、rake think_sphinx:index (または configure) 後に DB に追加されたユーザーが表示されません。サーバーを再起動して、sphinx を考えるのをやめてから、再起動して構成してみました。まだ同じ問題が発生しています。
rails c を実行して User.search を実行すると、index/configure が実行される前に作成された DB からのみ結果が得られます。
実行してこのプロジェクトを本番環境にプッシュするために、DB をフラッシュしました。
rake db:reset
次に、サーバーを再起動しましたが、この問題が発生しています。configure を実行すると、searchd.log ファイルに次のように表示されます。
[Tue Jan 15 18:56:02.491 2013] [ 1742] rotating indices (seamless=1)
[Tue Jan 15 18:56:02.499 2013] [ 1742] rotating index 'user_core': success
[Tue Jan 15 18:56:02.506 2013] [ 1742] rotating index 'synonym_delta': success
[Tue Jan 15 18:56:02.512 2013] [ 1742] rotating index 'synonym_core': success
[Tue Jan 15 18:56:02.519 2013] [ 1742] rotating index 'bar_delta': success
[Tue Jan 15 18:56:02.525 2013] [ 1742] rotating index 'bar_core': success
[Tue Jan 15 18:56:02.525 2013] [ 1742] rotating finished
そしてこれはsearchd.query.logにあります:
[Tue Jan 15 18:56:06.556 2013] 0.000 sec [ext/2/rel 8 (0,20)] [user_core]
[Tue Jan 15 18:56:06.566 2013] 0.001 sec [ext/2/rel 8 (0,20)] [user_core]
[Tue Jan 15 18:56:06.575 2013] 0.000 sec [ext/2/rel 8 (0,20)] [user_core]
DBをフラッシュしてサーバーを再起動するまで、検索が更新された結果を返さないという問題はありませんでした。その間、コードは一切変更されていません。何が問題なのかについての洞察をいただければ幸いです。また、詳細が必要な場合はお知らせください。さらに投稿できます。私はあまりにも多くの投稿をしたくはなく、人々が読んでも圧倒してしまいます。それで、私の問題をよりよく理解するために何が役立つか教えてください。
**さらに奇妙なのは、会場などの他のモデルでこの問題に遭遇していないことです. DBに保存後、検索で更新表示されるのは…
- - - - - - - - - - - - - - アップデート - - - - - - - - - - - --------------
だから私はレールコンソールを実行しました、そして私が実行した場合
User.search
ts:rebuild を実行する前に追加された最後の行で終わる 10 個の結果が得られます。しかし、私が実行すると:
User.all
データベース内のすべての行を含む 11 件の結果が返されます。最後に ts:rebuild / index / configure が実行された時間に関係なく...
ありがとう
アラン