Игра с Люсеном.Попытка сделать мои изменения видимыми для других тем чтения.Без перестройки индекса.Для этого я использую класс SearcherManager.
Создание менеджера
Directory index = new SimpleFSDirectory(new File(LUCENE_INDEX_PATH));
w = new IndexWriter(index, config);
indexReader = IndexReader.open(w, true);
manager = new SearcherManager(w, true, null, null);
Запрос на обновление
w.updateDocument(t, document);
manager.maybeReopen(); // openIfChanged same behavior
w.commit();
Запрос на поиск
IndexSearcher searcher = manager.acquire();
try {
return performSearch(query, searcher, skip, limit);
} finally {
manager.release(searcher);
searcher = null;
}
ИзмененияЗаписан на диск, но новый поисковый запрос видит их только после перезапуска приложения (воссоздание индекса).Похоже, IndexSearcher все еще указывает на старый индекс.