Luceneのパフォーマンスを最適化するさまざまな方法は何ですか?
キャッシュAPIを使用してlucene検索クエリを保存し、クエリを再度作成するオーバーヘッドを節約しますか?
クイックヒント:
チート。 RAMDirectory を使用して、インデックス全体をRAMにロードします。その後、すべてが速く燃えています。 :)
ここにはたくさんのデッドリンクがあります。
これらの(やや公式の)リソースは、私が始めるところです:
パフォーマンスに関する質問に対する最善の答えは、プロファイルを作成することです。ガイドラインはすばらしいですが、データセットのサイズ、実行しているクエリの種類、データ型など、パフォーマンスに影響を与える可能性のある変数はたくさんあります。
Netbeansプロファイラー または同様のものを入手して、さまざまな方法で試してください。ミッチによってリンクされた記事を使用しますが、何が助けになり、何が(しばしば驚くべきことに)痛いのかを実際にテストするようにしてください。
また、yourコードのパフォーマンスの向上と比較して、Luceneから得られるパフォーマンスの違いがわずかである可能性もあります。プロファイラーはそれも指摘します。
64ビットマシンの場合、コアLuceneコミッターの1つによって ここ でよく説明されているように、 RAMDirectory の代わりに MMapDirectory を使用します。