Java 如何检查ApacheLucene中的索引是否丢失或损坏?
我已经使用java创建了一个Apache Lucene搜索项目。如果索引文件夹中有错误/损坏/丢失的文件,我如何找到它 我试过了,但还是不行。 如何检查索引是否已损坏或损坏Java 如何检查ApacheLucene中的索引是否丢失或损坏?,java,search,indexing,lucene,Java,Search,Indexing,Lucene,我已经使用java创建了一个Apache Lucene搜索项目。如果索引文件夹中有错误/损坏/丢失的文件,我如何找到它 我试过了,但还是不行。 如何检查索引是否已损坏或损坏 public class Test { private static final String INDEX_DIR = "/home/amila/Lucene/REST/indexing"; public static void main(String[] args) { try {
public class Test {
private static final String INDEX_DIR = "/home/amila/Lucene/REST/indexing";
public static void main(String[] args) {
try {
Directory directory = FSDirectory.open(new File(INDEX_DIR));
CheckIndex checkIndex = new CheckIndex(directory);
Status status= checkIndex.checkIndex();
System.out.println(status.missingSegments);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
您只检查丢失的段,但可能存在其他潜在问题validCounter、missingSegmentVersion等。那么这些问题如何?还有,清洁旗上写着什么?最后,你知道这是一个破损的索引并试图测试它吗?您需要向我们提供更多详细信息。是的,使用clean我成功地满足了我的要求:您还可以调用checkIndex.fixIndexstatus,它将修复存在的任何问题。您使用的是哪个版本的Lucene?