作为简化示例。
我有两个字段:title
和keywords
。
我正在使用带有以下参数的edismax
qf:title + keywords ^ 2
以前,它工作正常。我在solr中索引了大约15M条记录。所有记录都非空title
。大多数记录 HAD 非空keywords
。
但是最近,我们决定删除大多数记录的keywords
。因此,我们目前只有1条记录(15M记录中)非空keywords
。
不幸的是,由于这一点,keywords^2
中指定的qf
提升似乎不再起作用。
对于该记录,我们有title
,例如" 商店"和keywords
,比方说," 裤子服装"。现在,如果我搜索' 好商店裤子',无论我使用qf: title
还是qf: title keywords^2.5
,solr匹配得分都完全相同。 (同样,我认为之前大多数记录都有非空关键字,因为上述比较的solr匹配分数不同。)
答案 0 :(得分:1)
回答我自己的问题。
由于只有一条记录具有非空keywords
。
根据solr使用的IDF公式,基值小于1.因此,将它提高^ 2对此毫无帮助。
所以,我认为"解决方案"是使用非空关键字添加更多记录。当然,这不是一个真正的解决方案。
有关debugQuery的输出,请参阅以下内容。
0.84748024 = weight(keywords:good in 4161) [], result of:
0.84748024 = score(doc=4161,freq=1.0 = termFreq=1.0
), product of:
3.0 = boost
0.2876821 = idf(docFreq=1, docCount=1)
0.9819638 = tfNorm, computed from:
1.0 = termFreq=1.0
1.2 = parameter k1
0.75 = parameter b
5.0 = avgFieldLength
5.2244897 = fieldLength