java - 没有找到段*文件

标签 java lucene nutch

我需要访问一个 lucene 索引(通过使用 Nutch 抓取多个网页创建的)但它给出了如上所示的错误:

java.io.FileNotFoundException: no segments* file found in org.apache.lucene.store.FSDirectory@/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)

我用谷歌搜索,但给出的原因与要求不符。 显示文件(路径)的事实可能意味着该目录不为空。
谢谢

最佳答案

另一个提示,因为我有同样的错误,发现在创建索引后我没有关闭 IndexWriter 并且证明这是非常不可原谅的。在我的索引目录中,我有一些 .lock 文件,但没有 Reader 正在寻找的段或 segments.gen 文件。 参见 here #3 了解详情

关于java - 没有找到段*文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3802021/

相关文章:

search - 使用 Solr 的 log4j 日志索引

java - Solr 仅在子查询匹配时返回父文档

elasticsearch - dfs_query_then_fetch 的 maxDocs 和 docFreq 错误

linux - 将 nutch 数据索引到 solr 时出错

java - 如何在 docker-ubuntu 环境中设置 JAVA_HOME?

java - 如何避免 Jetty 中服务器类抛出的一般异常?

regex - Nutch MalformedURLException导致爬网过程终止

java - Apache nutch-2.2.1 执行出错

java - ActiveMQ ObjectMessage 安全性不适用于带有 SERIALIZABLE_PACKAGES 变量的 Linux

java - 使用模数获取给定输入元素数组中最大子数组的总和