Rails 3とSunspot solr 3.5で作業しています。私のアプリケーションでは、Solrを使用してユーザー生成コンテンツを索引付けし、他のユーザーに対して検索可能にします。目標は、ユーザーがアップロードした時点からできるだけ早くこのデータを検索できるようにすることです。これがリアルタイム検索に該当するかどうかわかりません。特定の記述に基づいて、ユーザの検索はpost_itemに提供された場合ように太陽黒点3.5。リアルタイム検索のインデックスを手動で更新する
私のアプリケーションは二つのモデル
- 投稿
- PostItemsポスト項目からのデータを含めることによって
Iインデックスの記事があります対応する投稿オブジェクトが検索で利用可能になったことを記録する。
ユーザーは頻繁にpost_itemsを更新するので、新しいpost_itemが追加されるたびに、新しいpost_itemが検索時に利用できるように、対応するpostオブジェクトを再インデックスする必要があります。
私は新しいpost_itemオブジェクトを受け取るたびので、現時点では私はthis documentationに応じて瞬時にインデックスを更新し、コミット
post_item.post.solr_index! #
を実行します。これは機能しますが、このシナリオでインデックス作成を処理する正しい方法ですか?私はhereを読んでいる間に呼び出しインデックスがsolrを壊すかもしれないと読んでいます。また、頻繁に手動でインデックスを呼び出す方法はありません。
正しい方法でこれを行うための提案があります。この宝石に
を使用する
しかし、どのようにすれば、バッチインデックス作成中にImが検索しないことが保証されますか?リアルタイム検索中にソルバーが壊れる原因は何ですか?検索を行わずにインデックスを作成するための良い時間が1つしかないからです。 – Sid
私はこのsolrconfig.xmlのチューンを見つけました。http://solr-ra.tgels.org/wiki/en/Near_Real_Time_Search_ver_3.xしかし、あなたのデータが本当に機密性が高い場合は、実稼働環境でテストしなかったので、この機能を2回テストする必要がありますフロントエンドのユーザー検索ではバックエンドのインデックス作成に問題はなかったのだから - 1日あたり10K人の訪問者/ 200人の新しいドキュメントが追加された) – okliv