うーん、 lucene index で索引付けされている文書コレクション全体の単語がどれほど重要かを取得する必要があります。いくつかの「表現可能な単語」を抽出する必要があります。一般的で、コレクション全体で表現できる概念としましょう。またはコレクション「キーワード」。ドキュメントのタイトルはほとんど表現できないため(数字、コードなど)、全文索引付けを行いましたが、使用している唯一のフィールドはテキストコンテンツです。
編集: おそらく 60 のドキュメントを含むインデックスを読んでいます....
int numDocs = fReader.numDocs();
while(termEnum.next())
{
Term term = termEnum.term();
double df = fReader.docFreq(term);
TermDocs termDocs = indexReader.termDocs(term);
//HERE is what i mean when i say tfidf is per document,
while(termDocs.next())
{
double tf = termDocs.freq();
// Calculate tfidf.......
}
termDocs.close();
}
したがって、この用語の tfidf を取得しますが、ループするすべてのドキュメントについてです。そして、私はこれらの結果を必要としません:
tfidf(term1, doc1);
tfidf(term1, doc2);
tfidf(term1, doc3); ...........等々。
コレクションにおけるこの用語の重要性を測定する必要があります。直観的には、「用語 "term1" が 5 つのドキュメントで適切な tfidf を持っている場合、それは重要です」のようなものになります。
しかしもちろん、もっと賢いもの:)
ありがとうございました!!!