如何更改Lucene 4.0中的TermFreVector

如何更改Lucene 4.0中的TermFreVector,lucene,Lucene,代码如下: public int docLength(字符串文件名)引发IOException{ 整数长度=0; TermFreqVector t=indexReader.getTermFreqVector(0,“内容”); for(int i=0;i

代码如下:

public int docLength(字符串文件名)引发IOException{
整数长度=0;
TermFreqVector t=indexReader.getTermFreqVector(0,“内容”);
for(int i=0;i
错误是:

Exception in thread "main" java.lang.Error: Unresolved compilation problems: 
    TermFreqVector cannot be resolved to a type
    The method getTermFreqVector(int, String) is undefined for the type IndexReader

    at BM25.docLength(BM25.java:96)
    at BM25.avgDocLength(BM25.java:130)

访问和遍历术语向量在4.0中发生了显著变化。在这方面以及从3.6到4.0的其他更改方面,是非常有用的资源

在这种情况下,您需要通过调用
IndexReader.getTermVector
来访问
Terms
实例:

int-length=0;
TermEnum terms=indexReader.getTermVector(id,“contents”).iterator();
while(terms.next())
长度+=术语。totalTermFreq(空);
返回长度;