2012-02-13 2 views
3

Я хочу найти Lucene по индексу. Индекс часто изменяется. Поэтому мне нужно что-то делать, чтобы искать и индексировать одновременно. Это веб-приложение на Tomcat. И я хочу использовать RAMDeirectory для увеличения скорости поиска. Я не знаю, как это сделать!Поиск и поиск Lucene в то же время

ответ

3

NRTManager в пакете misc Lucene предоставляет возможность поиска и указательный одновременно.

TrackingIndexWriter writer; // your writer 
SearcherFactory factory = new SearcherFactory(); 
NRTManager mgr = new NRTManager(writer, factory); 

Проверьте методы NRTManager для получения дополнительной информации.

0

Вы должны сделать что либо проделывают

  1. Batch/ночные операции перестроение индексов.
  2. ли это асинхронный путь ....

зависит от требований, какие латентности вам нужно.

+0

Как чередовать индексы без создания веб-приложения !? –

2

Вы можете осуществлять поиск и индексировать одно и то же время с использованием того же индекса. Посмотрите на Lucene's near real time search.

Некоторые примеры кода из вики,

IndexWriter writer; // create an IndexWriter here 
Document doc = null; // create a document here 
writer.addDocument(doc); // update a document 
IndexReader reader = writer.getReader(); // get a reader with the new doc 
Document addedDoc = reader.document(0); 
+0

Как я могу искать по этому индексу, то !? –

Смежные вопросы