[lucene] lucene词条的频率

wgxin 2010-03-05
lucene建立倒排索引的时候,对于每个term,该term在每个document中出现的频率会记录在索引文件中。在检索的时候,怎么才能得到这个频率呢?
illu 2010-03-05
1.创建Field时 需要Field.TermVector.YES 用来保存Field的TermVector
2.检索的时候 IndexReader.getTermFreqVector 就可以拿到你想要的数据
wgxin 2010-03-07
谢谢楼上的回复。
但是我想知道的是一个term在每个document中出现的频率
比如:有两个文档,1.txt 和2.txt。1.txt里面有term1 term1, 2.txt里面有term1 term2
建立索引后,就是
term1: 1.txt,2.txt
term2: 2.txt
怎么得到term1在每个document中的频率。调用一个API,可以返回向量[2,1]      ?
yangfuchao418 2010-03-09
TermDocs toc = search.getIndexReader().termDocs(term);
System.out.print("find " + toc.freq() + " matches in");// 关键词出现的次数
jay88489 2010-03-10
重写Similarity类或继承DefaultSimilarity的tf(float freq) 方法。
freq就是每个document中关键词出现的次数
Global site tag (gtag.js) - Google Analytics