Каков наилучший способ добиться индексации Lucene в реальном времени?
Индексация Lucene в реальном времени?
Ответы (5)
Lucene имеет функцию, называемую поиском почти в реальном времени, чтобы удовлетворить именно эту потребность.
Для этого требуется, чтобы ваш IndexReader находился в той же JVM, что и ваш IndexWriter.
Вы вносите изменения с помощью IndexWriter, а затем открываете средство чтения непосредственно из модуля записи с помощью IndexReader.open(writer) или в более старых версиях Lucene, write.getReader(). Этот вызов обычно будет очень быстрым (пропорционально тому, сколько изменений вы сделали с момента последнего открытия средства чтения), поскольку он обходит дорогостоящую фиксацию, обычно требуемую для открытия средства чтения. Он может искать незафиксированные изменения в модуле записи.
Это средство чтения по-прежнему выполняет поиск моментального снимка из средства записи, т. е. всех изменений на момент его открытия.
Получите средство чтения индекса от автора индекса.
Обновление: похоже, текущий метод заключается в открыть средство чтения каталогов с помощью объекта записи индекса.
Попробуйте Зои
В вики Lucene есть некоторая информация: http://wiki.apache.org/lucene-java/NearRealtimeSearch