关闭

建立索引时no segments* file found 的问题

2289人阅读 评论(0) 收藏 举报
lucene创建索引中的构造函数IndexWriter(String path, Analyzer a, boolean create, IndexWriter.MaxFieldLength mfl) ,这里的boolean create参数的意思并非是否创建索引,而是覆盖还是追加的意思。原文见官方文档:create - true to create the index or overwrite the existing one; false to append to the existing index

create - true to create the index or overwrite the existing one; false to append to the existing index
true:创建新的索引或者覆盖现有索引
false:追加索引到现有索引。

所以。当该参数为false,而所以目录下由不存在索引的时候,便会产生该异常。

java.io.FileNotFoundException: no segments* file found in org.apache.lucene.store.FSDirectory@D:/lucenedir/index: files:
at org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:604)
at org.apache.lucene.index.SegmentInfos.read(SegmentInfos.java:272)
at org.apache.lucene.index.IndexWriter.init(IndexWriter.java:1072)

at org.apache.lucene.index.IndexWriter.(IndexWriter.java:550)

针对索引建立index = new IndexWriter(new File(indexDir), new StandardAnalyzer(),
                                !incremental);
只需要将本语句中的!incremental设置成true就可以全新穿件索引的三个文件。











0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:72334次
    • 积分:18
    • 等级:
    • 排名:千里之外
    • 原创:3篇
    • 转载:16篇
    • 译文:0篇
    • 评论:3条
    最新评论