1

1億のドキュメントがロードされた6つの小さなフィールドを持つSolrコアがある場合、100万のドキュメントのバッチを追加すると妥当な時間で実行されますか?1000万はどうですか?当然のことながら、私は数日ではなく数時間を考えています。これは実行に長い時間がかかると言われています。これは本当に問題ですか?パフォーマンスを改善するための既知の戦略は何ですか?通常、フィールドは小さく、5〜50文字です。

4

4 に答える 4

2

two suggestions on top of already mentioned in other answers for improving the performance (first tried, second to be tried):

1) decrease logging while updating: on INFO level SOLR appends one entry per document. See here on how we did it: http://dmitrykan.blogspot.fi/2011/01/solr-speed-up-batch-posting.html Some people reported "x3 speed increase".

2) set the amount of segments in solrconfig.xml to something very large for indexing, like 10000. Once the batch indexing is complete, change the parameter value back to something reasonably low, like 10.

于 2013-01-11T18:23:34.567 に答える
1

これは非常に「トリッキーな」質問であり、その答えはスキーマごとに異なります。

  1. solrインストールには半ダースのフィールドがあります。しかし、実際にインデックス付けされているのはいくつですか?1つのフィールドのみがインデックス付けされている場合、6つのフィールドがインデックス付けされている場合、100万のドキュメントを追加する方が100万のドキュメントを追加するよりも高速になります。
  2. 索引付けされるフィールドのタイプも重要だと思います。タイプが「text_general」のフィールドは、インデックス作成中にトークンに分割されますが、タイプが「string」のフィールドはそうではありません。「文字列」タイプは分析されず、1つの完全なトークンとして格納されます。
  3. インデックスが作成された非常に長いフィールドがいくつかあり、200万のドキュメントを追加するには数分かかります(ただし、私のインストールには1億のドキュメントが含まれていません)。したがって、インストールに1,000万レコードを追加するのに数日かかるとは思いません。
  4. これについてはよくわかりませんが、solrインスタンスを実行しているCPUの構成も重要です。したがって、CPUとメモリがこれだけの負荷を処理できるかどうかを確認する必要があるかもしれません。

長時間実行されるデータ投稿が問題であるかどうかを判断するのはあなた次第です。アプリケーションがユーザー集約的である場合は、データを投稿するときにユーザーが高いCPU使用率の影響を受けないように、ある種のマスタースレーブ構成に従うことをお勧めします。パフォーマンスの向上について私が知っているいくつかの戦略は「シャーディング」です。

http://carsabi.com/car-news/2012/03/23/step-by-step-solr-sharding/

または、レコードをフィールドで区切って、それらの異なるドキュメントを異なるサーバーに配置することが可能な場合。

于 2013-01-10T21:41:11.647 に答える
1

100 million records is a fairly large index for Solr. But adding 10 million records on a good machine should be hours not days. You may find the following email thread interesting as it includes both in-depth questions and some final advice on tuning for 10M records index process.

Also, you did not say if you 'store' the fields as well as index them. If you do, you may also look forward to Solr 4.1 field compression.

于 2013-01-11T14:58:52.367 に答える
0

インデックス作成のパフォーマンス(時間の観点から)に影響を与える重要なパラメーターは、data-config.xmlファイルを定義した方法です。

フィールドがデータベース内の複数のテーブルからのものである場合、次の2つの方法で構成できます。

2番目の方法は、データベースに対して実行されるクエリの数が減少するため、最初の方法よりも大幅に高速です。

于 2013-01-15T04:44:09.190 に答える