Я отправляю пачку документов во вновь созданный индекс и фиксирую / оптимизирую и закрываю программу записи.Когда я открываю и читаю из индекса, находясь в той же виртуальной машине, все работает как положено.Как только я закрываю ВМ, перезапускаю и читаю индекс в новом экземпляре приложения, я получаю множество документов.
Когда я проверяю индекс с помощью luke, я вижу, что первые документы в индексезафиксировано, но за ним последовало очень много документов, содержащих только одно поле с именем «word».
Поиск в индексе работает, как и ожидалось, но мне стало любопытно, какое огромное количество возвращает numDocs.Кстати, я использую самую последнюю версию Java Lucene 3.0.2.
Есть идеи на этот счет?
С уважением,
Алекс
Здесьпример кода:
File indexDirectory = new File(...);
Directory directory = FSDirectory.open(indexDirectory);
IndexSearcher searcher = new IndexSearcher(directory, true);
// I also use a spellchecker, but this should not affect anything (I hope)
IndexReader reader = IndexReader.open(directory, true);
SpellChecker spellChecker = new SpellChecker(directory);
spellChecker.indexDictionary(new LuceneDictionary(reader, "headline"));
spellChecker.indexDictionary(new LuceneDictionary(reader, "intro"));
int numDocs = searcher.getIndexReader().numDocs();
int maxDoc = searcher.getIndexReader().maxDoc();