現在、2 つのドキュメントを含むインデックスがあります (すべてが正常に機能した後にさらに追加します)。特定の用語を試してみましcalculate the df
たが、結果としてインデックス内のドキュメントの総数を常に取得しています。デバッグ目的で、1 つのドキュメントに一意の文字列を入力したため、df の結果は1になります。しかし、それは2を返します。プロセスの最後にtf/idf
、インデックス内のすべての単語のスコアが必要になります。
私は次のコードを試しました:
public void calcDF (String term) throws IOException
{
//open the index file
Directory dir = FSDirectory.open(new File("d:/index"));
//create a reader
IndexReader ir = IndexReader.open(dir);
//for debug
System.out.println("num of docs in index : " + ir.maxDoc());
Term t = new Term("content",term);
int df = ir.docFreq(t);
}
IndexSearcher searcher = new IndexSearcher(ir);
代わりに試してみましindexReader
たが、運がありませんでした。
PS:私は使用していますlucene 3.5