刚刚掌握Lucene(目前正在使用4.6)。
Lucene索引由目录中的各种文件(最初大约5个,但可以更少)组成。他们有相当神秘的名字,如“_0.fdt”等。
我只是想知道是否有一种测试目录内容的一般方法来确定它是否是一个非腐败且因此可用的Lucene索引?也许最初假设v4.6是唯一可能需要处理的版本......
关键是,如果可以看到索引存在,并且如果确定已经相对最近创建或更新了索引,则算法可能会确定可能不需要重新创建索引...如果它不可读/不可用,则必须完全删除并重建。
任何人都知道我在喋喋不休地说什么?
答案 0 :(得分:2)
CheckIndex
包含许多工具来获取有关索引运行状况和修复段的信息。该类也可以作为命令行工具运行,如果在您的情况下比编写代码更方便。
当然,如果索引已损坏,尝试打开IndexWriter应该抛出CorruptIndexException
。你可以处理异常。