我正在研究在另一个索引中构建流行术语索引的遗留代码。没有单元测试,索引过程很难等待,因为第一个索引需要很长时间才能构建。
我想以不同方式构建第二个(流行术语)索引。是否有最佳实践用于测试是否正确创建Lucene索引?
编辑>> Per @ Pascal的建议我正在使用RAMDirectory,然后测试我刚写的索引我设置了一个indexReader并遍历术语结果,打印出每个术语到确保数据看起来没问题。
代码:
IndexReader reader = IndexReader.open(dir2);
TermEnum terms = reader.terms();
System.out.println("Here come the terms!");
while (terms.next()){
if (terms.term().field().equals("FULLTEXT")){
System.out.println(terms.term());
}
}
int numDocs = reader.maxDoc();
System.out.println("Number of Docs: " + numDocs);
如果索引非常大,我会让它运行一段时间,然后在中途停止。
另外,Luke是检查索引的好工具,如果你想要更彻底......我只是在寻找快速的东西。
欢迎任何其他想法!
答案 0 :(得分:3)
在对Lucene索引进行单元测试时,我经常使用RAMDirectory,因为它可以快速构建。