Подтвердить что ты не робот

Файл не найден *

Мне нужно получить индекс lucene (созданный путем обхода нескольких веб-страниц с помощью Nutch), но он дает ошибку, показанную выше:

java.io.FileNotFoundException: no segments* file found in [email protected]/home/<path>: files:
    at org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:516)
    at org.apache.lucene.index.IndexReader.open(IndexReader.java:185)
    at org.apache.lucene.index.IndexReader.open(IndexReader.java:148)
    at DictionaryGenerator.generateDict(DictionaryGenerator.java:24)
    at DictionaryGenerator.main(DictionaryGenerator.java:56)

Я googled, но приведенные причины не соответствовали требованиям. Тот факт, что файлы отображаются (путь), вероятно, означает, что каталог не пуст.
Спасибо

4b9b3361

Ответ 1

В основном, в сообщении об ошибке указано, что Lucene не нашел нужные файлы в каталоге индекса. Я предлагаю проверить следующее:

  • Убедитесь, что путь к каталогу индекса соответствует тому, что, по вашему мнению, должно быть.
  • Используются ли версии Nutch и Lucene? Это может быть связано с разницей в версии.
  • Есть ли проблема с разрешениями? Можете ли вы прочитать файлы в каталоге?
  • Попробуйте просмотреть индекс, используя Luke. Если вы не можете, в индексе, вероятно, есть некоторая коррупция.

Если все это не поможет, отправьте индексную часть кода.

Ответ 2

Еще один намек, поскольку у меня была такая же ошибка, и обнаружил, что после создания индексов я не закрывал IndexWriter, и это оказалось очень непрощенным. В моем indexdirectory у меня есть некоторые .lock файлы, а не сегменты или файлы segment.gen, которые ищет читатель. Подробнее см. здесь # 3.