Когда элементы известны впереди и не изменятся, перечисление является соответствующим.
, Если элементы могут измениться во время времени выполнения, используйте Набор.
Есть ли способ сохранить индекс в ОЗУ вместо того, чтобы хранить его на жестком диске?
Используя здесь RAMDirectory класс
Также из часто задаваемых вопросов Lucene
Как правило, для повышения производительности индексации лучше выполнять очистку по использованию ОЗУ, а не по количеству документов, и использовать как можно больший буфер ОЗУ.
РЕДАКТИРОВАТЬ: RE: RamDirectory , поскольку API говорит, что RamDirectory является реализацией каталога, резидентного в памяти. , он сохраняет только те индексы в ОЗУ, как указано в каталоге RAMDirecory
RE: Кэширование Насколько мне известно, Lucene кэширует результаты поиска с помощью фильтров, пожалуйста, посмотрите @ CachingWrapperFilter и QueryWrapperFilter
Ознакомьтесь с документацией RAMDirectory . Вот базовый пример использования . Это будет работать, только если индекс достаточно мал.
RAM-диск может быть решением этой проблемы. Мини-HOWTO доступно на http://www.vanemery.com/Linux/Ramdisk/ramdisk.html . Установите RAM-диск в качестве индексного каталога, и все готово.