2012-04-03 7 views
3

私は太陽のスポットを使って自分のRailsアプリケーションにSolrをインストールしました。Solr - Reindex推奨のバッチサイズ

私はsolrを使って自分のテーブルのいくつかの列のインデックスを再作成したいと思います。テーブルはかなり大きい(〜50Mレコード)。

使用する推奨バッチサイズは?現在、私は1000を使い、1日以上走っています。

アイデア?

答えて

2

バッチサイズはそれほど重要ではありませんが、1000はおそらく問題ありませんが、私はそれ以上は行っていません。これは、文書のサイズ、各文書の索引付けされるテキストのバイト数に依存します。

各バッチ後にコミットしていますか?それは遅くなることがあります。最後に1回のコミットで23Mのドキュメントインデックスを読み込みます。ドキュメントは小さく、書籍のメタデータは約90分かかります。その速度を得るために、私はロードのために単一のSQLクエリを使用する必要がありました。サブクエリを使用すると、約10倍遅くなりました。

DataInputHandlerでJDBCサポートを使用していますが、DBクエリを作成してバッチを送信するカスタムコードに移動することがあります。

私は、CSV入力ハンドラが非常に効率的であると聞いているので、データをCSVにダンプしてからそのハンドラでロードすることができます。