0

現在、多くの「インデックス」ビューが多くの仮想属性を利用するアプリで開発中です。同時に全文検索機能も必要です。

私たちが選択した解決策は、Sunspot/Solr を使用して、仮想属性を含むモデルのインデックスを作成することです。次に、Sunspot を使用して正しいレコードを取得し、並べ替え、検索などを行います。これはすべて、開発セットアップで非常にうまく機能します。

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

このソリューションを構築する前に、Sunspot をこのように使用することに懸念があるかどうかを確認したかっただけです。特に、アプリが大きくなった場合、インデックスを完全に同期させなければならないので、その負担が大きくなりますか?

インデックス ページで仮想属性を処理するのは非常に優れた方法のように思えますが、実際にはあまり良くないことを確認したいと思います...

助けてくれてありがとう
アーウィン

4

1 に答える 1

0

コミットは Solr での負荷の高い操作であり、頻繁に実行したくありません。可能であれば、ユーザーがアクティブ化した関数でコミットをトリガーしないでください。これは、ユーザーベースが成長するにつれてサーバーに多くのストレスがかかる可能性があるためです (一部のユーザーは悪です)。

可能であれば、x 秒ごとに自動コミットするようにサーバーを設定します (インデックスのサイズとサーバーの負荷によって異なります)。このようにして、遅延を既知の最大間隔に保ちながらコミットフラッドが発生することはありません。

于 2011-06-20T06:43:27.367 に答える