パフォーマンスを向上させるためにインデックス全体をメモリに入れていましたがRAMDirectory、インデックスがどんどん大きくなるまではうまく機能していました。今私は得てOutOfMemoryExceptionいます。ディスク上のインデックスは 1.24GB ですが、オブジェクトのオブジェクト サイズがRAMDirectory.NET の 2GB オブジェクト サイズの制限を超えてしまい、例外がスローされたのではないかと考えています。もう 1 つの理由として、仮想アドレス空間が断片化しすぎて、オブジェクトに十分な大きさの穴を見つけられないことが考えられます。
引き続きご利用いただきたいと思いRAMDirectoryます。を避けながらどうすればそれを行うことができOutOfMemoryExceptionますか?
IndexWriter.Optimizeまた、インデックスを作成するときに呼び出して、インデックス全体が 1 つの大きなファイルになることにも注意してください。