我创建了一个自定义相似性类,我希望 Solr 按 coord()
进行排名。在我的结果中,带有此调试查询结果的文档
0.0 = (MATCH) weight(text:现在 in 0) [MyNewSimilarityClass], result of:
0.0 = score(doc=0,freq=1.0 = termFreq=1.0
), product of:
0.0 = queryWeight, product of:
0.0 = idf(docFreq=103081, maxDocs=4060152)
0.0 = queryNorm
0.0 = fieldWeight in 0, product of:
0.0 = tf(freq=1.0), with freq of:
1.0 = termFreq=1.0
0.0 = idf(docFreq=103081, maxDocs=4060152)
1.0 = fieldNorm(doc=0)
1.43425728E8 = coord(2/167)
排名高于具有此调试查询结果的文档
0.0 = (MATCH) weight(text:中国 in 5) [MyNewSimilarityClass], result of:
0.0 = score(doc=5,freq=1.0 = termFreq=1.0),
product of:
0.0 = queryWeight, product of:
0.0 = idf(docFreq=39366, maxDocs=4060152)
0.0 = queryNorm
0.0 = fieldWeight in 5, product of:
0.0 = tf(freq=1.0), with freq of:
1.0 = termFreq=1.0
0.0 = idf(docFreq=39366, maxDocs=4060152)
1.0 = fieldNorm(doc=5)
8.9641069E8 = coord(5/167)
除了 coord()
因子之外,两者都是相等的,为什么不将较高的结果 coord()
因子放在排名的第一位?
最佳答案
由于您的其他评分因素为零,因此两个文档的总分为零/0(这是首先显示的值)。评分(主要)是每个术语的乘积(而不是相加)。
关于java - 为什么 Solr 不按最大相似度因子进行排名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25369347/