Lucene 7:无论字段如何,如何计算idf?

时间:2018-07-11 10:06:43

标签: lucene tf-idf

Lucene提供了不同的方法来计算idf。基本上,Lucene建议采用术语的文档频率,文档数量,并最终将它们传递给idf计算器,例如ClassicSimilarity提供的计算器。因此,假设我们想知道术语“房屋”的idf。以下是标准过程:

IndexReader reader = //take the reader of your index
Term myTerm = Term(fieldName, "house");
int docFreq = reader.docFreq(myTerm);
int docNumber = reader.docNum();
float idf = new ClassicSimilarity().idf(docFreq, docNumber);

但是,重点是到目前为止,我们还没有计算“ house”的idf !我们刚刚在fieldName 字段中计算了房屋的IDF!

那如果我们想计算idf而不考虑字段怎么办?

是的,我知道我可以循环查看集合中的每个文档,并自行计算,但是我希望Lucene提供一些内置的方法。

0 个答案:

没有答案