如何在Lucene Index中重新创建已删除的段文件?

时间:2014-01-07 18:00:53

标签: indexing lucene segment

我不小心删除了程序的Lucence索引文件夹。当我运行我的程序时,它显示为......

Exception in thread "main" org.apache.lucene.index.IndexNotFoundException: no segments* file found in org.apache.lucene.store.MMapDirectory@M:\fbl\org.fazlan.lucene.ms.demo\src\main\resources\index2 lockFactory=org.apache.lucene.store.NativeFSLockFactory@cb17ecc: files: [write.lock, _0.fdt, _0.fdx]
at org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:801)
at org.apache.lucene.index.StandardDirectoryReader.open(StandardDirectoryReader.java:52)
at org.apache.lucene.index.DirectoryReader.open(DirectoryReader.java:66)
at org.apache.lucene.index.IndexReader.open(IndexReader.java:291)
at org.fazlan.lucene.demo.Searcher.<init>(Searcher.java:28)
at org.fazlan.lucene.demo.FileIndexApplication.main(FileIndexApplication.java:50)

我该怎么办?我搜索了互联网,但找不到任何解决方案?有没有办法用已删除的段文件重建索引?

1 个答案:

答案 0 :(得分:0)

这应该可以通过创建一个与现在具有相同大小的段的索引来实现。然后将其段文件用于索引。您需要替换与您的实际文件名匹配的段文件中的文件名。