1

150,000 件のニュース記事を掲載するニュース サイトを運営しています。約 250 の新しい記事が、毎日 5 ~ 15 分間隔でデータベースに追加されます。Solr は何百万ものレコードに最適化されており、私の 150K は問題にならないことを理解しています。しかし、更新のたびにキャッシュが無効になるため、頻繁な更新が問題になるのではないかと心配しています。私の開発サーバーでは、ページのコールド ロードのロードに 5 ~ 7 秒かかります (すべてのページでいくつかの MLT クエリが実行されるため)。

インデックスをアーカイブ インデックスと最新インデックスの 2 つに分割すると役に立ちますか。アーカイブ インデックスは 1 日 1 回更新されます。

常に更新されるインデックスのためにインストールを最適化する方法を誰か提案できますか?

ありがとう

4

2 に答える 2

1

私の答えは:テストしてください!パフォーマンスがわからない場合は、まだ最適化を試みないでください。あなたが言ったように、150K は多くはありません。テスト用にそのサイズのインデックスをすばやく作成する必要があります。その後、別の同時スレッドからいくつかの MLT クエリを実行して (ユーザーをシミュレートするため)、さらにドキュメントにインデックスを付けて動作を確認します。

注意すべき設定の 1 つは自動コミットです。常にインデックスを作成しているため、ドキュメントごとにコミットすることはできません (Solr をダウンさせます)。この設定に選択する値により、システムの応答性を維持しながら、システムの待機時間 (結果で新しいドキュメントが返されるまでにかかる回数) を調整できます。

于 2010-07-13T16:13:30.060 に答える
0

Consider using mlt=true in the main query instead of issuing per-result MoreLikeThis queries. You'll save the roundtrips and so it will be faster.

于 2010-07-16T03:20:24.377 に答える