我试图基于字段值来提升特定文档.它通常工作正常但是一些文档返回更高的分数,即使它们具有较小的提升值.
在使用debugQuery=onrequest参数调试查询后,我注意到该idf函数正在为特定文档返回更高的分数,这会影响整体分数.
有没有办法在查询时忽略tf/idf评分?
您将要创建一个自定义的Similarity,它会覆盖tf和idf方法,并使用它来代替DefaultSimilarity.
就像是:
class CustomSimilarity extends DefaultSimilarity {
@Override
public float tf(float freq) {
return 1.0;
}
@Override
public float tf(int freq) {
return 1.0;
}
@Override
// Note the signature of this method may now take longs:
// public float idf(long docFreq, long numDocs)
public float idf(int docFreq, int numDocs) {
return 1.0;
}
}
Run Code Online (Sandbox Code Playgroud)
设置它在schema.xml中使用该相似性:
<similarity class="myorg.mypackage.CustomSimilarity"/>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4348 次 |
| 最近记录: |