Единственный способ продолжать использовать RAMDirectory
, который я могу придумать, это разделить его на несколько меньших индексов и использовать MultiSearcher
.
Таким образом, вы сможете избежать ограничения размера объекта .NET 2 ГБ, обратите внимание, что даже на 64-битном одном объекте по-прежнему существует ограничение размера 2 ГБ, RamDirectory внутренне содержит массив байтов для представления индекса, и это, вероятно, что заставляет его взрываться, если он слишком большой.
По моему скромному мнению, вам следует подумать об использовании FSDirectory с большими индексами, скорость которого обычно достаточно хороша для большинства приложений после прогрева.