約200万レコードのルーメンを作成しようとしています。インデックス作成時間は約9時間です。 パフォーマンスを向上させる方法をお勧めしますか?方法:Lucene .netを増やす。インデックス作成速度
答えて
Luceneのインデックス作成のパフォーマンスを向上させる最も簡単な方法は、IndexWriterのmergeFactorインスタンス変数の値を調整することです。この値は、ディスクに書き込む前にメモリに格納するドキュメントの数と、複数のセグメントをマージする頻度をLuceneに通知します。
http://search-lucene.blogspot.com/2008/08/indexing-speed-factors.html
私はLuceneのインデックスを並列化する方法についてはひどい記事を書きました。本当にひどく書かれていますが、それはhereです(ご覧になるサンプルコードがあります)。
主なアイデアは、あなたのデータをかなりの部分にまとめ、別のスレッドでそれらの部分を処理することです。それぞれの作品が完成したら、すべてを1つのインデックスにマージします。
上記のアプローチを使用すると、私は約400万レコードにインデックスを付けることができます。 2時間。
希望すると、ここからどこに行くのかが分かります。
書き込み側(マージファクタ)と計算アスペクト(パラレル化)を別にすれば、最も単純な理由があります。多くの人々がデータのデータベースからLuceneインデックスを作成します。場合によっては、このデータの特定のクエリが複雑すぎて、すべての(200万?)レコードを実際に返すのが遅いことがあります。クエリとディスクへの書き込みを試してください。まだ5〜9時間程度であれば、最適化する場所が見つかりました(SQL)。
私は物事をスピードアップするために必要な場合は、以下の記事は本当に私を助けた:
http://wiki.apache.org/lucene-java/ImproveIndexingSpeed
私はその文書の建設は、当社の主要なボトルネックがわかりました。データアクセスを最適化し、その他の推奨事項を実装した後、私はインデックス作成のパフォーマンスを大幅に向上させることができました。
- 1. joomlaの速度を増やす方法
- 2. テーブル、インデックス、ストアドプロックの作成速度を向上させる方法
- 3. 列のインデックスを作成してクエリの実行を増やす方法
- 4. Lucene:特定のフィールドを増やす方法
- 5. Lucene - インデックス作成の数値用語を破棄する方法
- 6. データフレームのインデックスを増やす
- 7. luceneでインデックスを作成するとき
- 8. foreachのインデックスを増やす
- 9. ボタンのタップ速度、2つのボタン、ポイントを増やす
- 10. グローバルアセンブリキャッシュを使用して速度を増やす
- 11. DrupalのCSV速度へのノードのエクスポートを増やしたい
- 12. クローン作成で入力名を増やす方法は?
- 13. Lucene .Net-キー/値がより複雑なインデックスを作成するための良い方法は何ですか?
- 14. 高速列挙中に「スコア」を増やす方法
- 15. Luceneでのtxtファイルのインデックス作成
- 16. Lucene.netのインデックス作成速度を改善するには
- 17. MongoDBで.NETを使用してインデックスを作成する方法
- 18. 増加ブースト正規表現速度やC++で
- 19. 角の増減速度
- 20. 正規化された速度を使って徐々に移動速度を増やす
- 21. 角度jsの数値文字列値を増やす方法
- 22. 角度jで私の値を増やす方法は?
- 23. 増加クエリの速度
- 24. Netlogo GISラスタ作成速度
- 25. Lucene 6.0の重複したドキュメントのインデックス作成を避ける方法
- 26. プールから来るオブジェクトで同じ徐々に速度を増やす方法はありますか?
- 27. luceneの日付フィールドのインデックス方法
- 28. テキストビューでリストビューを作成し、減少ボタンを増やす方法は?
- 29. MSSQLデータベースにテーブルを増やすと処理速度が低下しますか?
- 30. Androidスタジオでヒープ/ラムサイズを増やすと速度が向上しますか?
こんにちはエステバン ありがとうございました。私はあなたのやり方に似たものを探しています。あなたのブログにいくつかのコードスニペットを投稿してください。 ありがとう、 ゴクル – Gokul