2

私は別のインデックスで人気のある用語のインデックスを構築するレガシーコードに取り組んでいます。単体テストは実施されておらず、最初のインデックスの作成には非常に時間がかかるため、インデックス作成プロセスを待つのは面倒です。

2番目の(人気のある用語)インデックスを別の方法で構成したいと思います。Luceneインデックスが適切に作成されているかどうかをテストするためのベストプラクティスはありますか?

編集>> @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は、より徹底的に調べたい場合にインデックスを検査するための優れたツールです...私はただ速いものを探しています。

他のアイデアは大歓迎です!

4

1 に答える 1

3

Luceneインデックスの単体テストを行うときは、ビルドが簡単なため、RAMDirectoryをよく使用します。

于 2010-06-29T19:52:21.827 に答える