开发者

Unit test for Lucene indices

I'm working on legacy code that builds an index of popular terms in another index. There are no unit tests in place, and the indexing process is a pain to wait for because the first index takes so long to build.

I want to structure the second (popular term) index differently. Is there a best practice for testing to see if a Lucene index is being created properly?

EDIT>> Per @Pascal's advice I'm using a RAMDirectory, then to test the index I just wrote I set up an indexReader and iterate through the term results, printing out each term to make sure the data looks alright.

Code:

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(开发者_JAVA技巧"Number of Docs: " + numDocs);

If the index is really large I let it run for a bit then just stop it midway through.

Also, Luke is a great tool for inspecting the index if you want to be more thorough... I'm just looking for something fast.

Any other ideas are welcome!


When unit-testing Lucene index, I often use the RAMDirectory as it is quick to build.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜