2

Apache Solr の使用を考えています。私のデータベースには、約 10.000.000 レコードがあります。使用する最悪のケースでは、約 20 の検索/ソート可能なフィールドがあります。私の問題は、これらのフィールドが日中頻繁に値を変更する可能性があることです。たとえば、私のデータベースでは、10000レコードと同時にいくつかのフィールドを変更する可能性があり、これは1日に0、1、または1000回発生する可能性があります。ポイントは、データベースの値を更新するたびに更新したいということですsolrでも更新されたデータを毎回検索できるようにします。

solr を使用したことがある方は、そのようなボリュームでのインデックスの再作成はどのくらいの速さでできますか? この更新 (私が読んだものからレコードを削除して readd する) と、たとえばインデックス作成に 5 秒、5 分、1 時間かかりますか? 適切なサーバーで実行されると考えてください。

4

1 に答える 1

3

実際にやってみないとわかりにくいです。ただし、Lucene と Solr は現在、個々のドキュメントの更新をサポートしていないことを知っておく必要があります (進行中の作業もあります https://issues.apache.org/jira/browse/LUCENE-3837 )。 -単一のフィールドのみを更新した場合でも、レコード全体にインデックスを付けます。

さらに、Lucene と Solr は、単一ドキュメントの更新よりもバッチ更新の実行に優れています。これを回避するために、Solr には、Solr が個々の更新をグループ化してスループットを向上させることができる便利なcommitWithinパラメータがあります。

この数は慎重に受け取る必要がありますが、私は非常に従来型のハードウェアで最大 5000 ドキュメント/秒のスループットで数百万のドキュメント (最大 30 個の小さなフィールド) のインデックスを作成することがよくあります。

于 2012-06-28T16:33:27.467 に答える