2011-06-19 2 views
0

私たちは現在、多くの 'index'ビューが多くの仮想属性を使用するアプリケーションで開発中です。同時に、full_text検索機能が必要です。Sunspotを使ってインデックスビューを生成する - それは賢明ですか?

私たちが選択したソリューションは、仮想属性を含めて、モデルにインデックスを付けるためにSunspot/Solrを使用することでした。次に、Sunspotを使用して正しいレコードを取得し、ソートしたり、検索したりします。これは、すべて開発環境でうまくいきます。

明らかに、このアプローチでは、Solr-indexをデータベースと同期させる必要があります。ユーザは、新しく作成されたレコードがインデックスページにリストされているのを見ることはできません。これを達成するため、アプリ内のさまざまなポイントでインデックスアクションを強制します。

このソリューションを構築する前に、私はSunspotをこのように使用することに懸念があるかどうかを確認したかっただけです。特に、アプリが大きくなったら完全な同期のインデックスを維持しなければならなくなり、その料金を徴収し始めるでしょうか?

それはインデックスページでの仮想属性を扱うのは非常に良い方法のように思えるが、私はないと本当であるには良いです確認する...私たちの助けを

おかげ
アーウィン

答えて

0

コミットはSolrの大規模な操作であり、頻繁に行う必要はありません。可能であれば、ユーザー起動機能でトリガされたコミットはありません。これは、ユーザーベースが増加するにつれてサーバーに多くの負荷をかける可能性があります(一部のユーザーは悪です)。

できる場合は、x秒ごとにサーバーを自動コミットするように設定します(インデックスのサイズとサーバーの負荷によります)。この方法では、既知の最大間隔で遅延を維持しながら、コミットフラッドが発生しません。

関連する問題