Java lucene 5.3中的术语频率评分
在ApacheLucene5.3中,我只想使用术语频率对结果进行排名。我试图重写DefaultSimilarity类,但它似乎在Lucene 5.3中不起作用。我正在使用以下代码:Java lucene 5.3中的术语频率评分,java,lucene,Java,Lucene,在ApacheLucene5.3中,我只想使用术语频率对结果进行排名。我试图重写DefaultSimilarity类,但它似乎在Lucene 5.3中不起作用。我正在使用以下代码: import org.apache.lucene.search.similarities.DefaultSimilarity; public class TfSimilarity extends DefaultSimilarity { public TfSimilarity(){} public f
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函数。您没有正确重写。应该是:
@Override
public float idf(long docFreq, long numDocs){}
您应该使用带注释的@Override
,以确保方法定义正确 您没有正确覆盖。应该是:
@Override
public float idf(long docFreq, long numDocs){}
您应该使用带注释的@Override
,以确保方法定义正确