lucene 5.3中的术语频率评分

时间:2015-09-03 08:44:50

标签: java lucene

我想只使用术语频率来对Apache Lucene 5.3中的结果进行排名。我尝试重写DefaultSimilarity类,但似乎它在Lucene 5.3中不起作用。我使用以下代码:

import org.apache.lucene.search.similarities.DefaultSimilarity;

public class TfSimilarity extends DefaultSimilarity {
    public TfSimilarity(){}
    public float idf(int docFreq, int numDocs) {
      return(float)1.0;
    }
    public float coord(int overlap, int maxOverlap) {
      return 1.0f;
    }
    public float lengthNorm(String fieldName, int numTerms) {
      return (float) numTerms;
    }

}

此外,似乎程序没有进入上面的idf函数。

1 个答案:

答案 0 :(得分:0)

您没有正确覆盖the method。它应该是:

@Override
public float idf(long docFreq, long numDocs){}

您应该使用带注释的@Override来确保您已正确获得方法定义。