2011-12-01 4 views
0

IamはLuceneの検索機能を使用し、luceneのソート機能を使用してフィールドの1つをソートします。データをソートするために、luceneはソートのために内部的にFieldCacheを作成します。このキャッシュは、検索が完了して結果がページに返されてもクリアされません。検索を行うたびに、メモリサイズが増加し続けます。Lucene Sortはメモリオーバーヘッドを増加させます

メモリからこのフィールドキャッシュをクリアして結果が返されると、メモリサイズが正常な状態に戻ってきます。

おかげ

答えて

1

メモリは別の種類のフィールドはもちろん、使用されている場合を除き、連続した検索に増加し続ける場合は間違って何かがあります。とにかく、キャッシュはFieldCache.DEFAULT.purgeAllCachesでクリアできますが、ドキュメントはキャッシュのメンテナンスに使用することを警告します。

+0

こんにちは、素早く対応してくれてありがとうございました...これは、ライブ環境での検索を終了するたびに、FieldCache.DEFAULT.purgeAllCachesを使用しないでください... – user699940

+0

最新のlucene api 2.9をダウンロードして解決しました。 .1 – user699940