我对eDisMax中的qf和tie参数感到困惑
根据文件:
qf用于指定要搜索的字段,而tie则用于指定所有其他字段(最高分数字段除外)对总分的影响。
我的困惑是,既然我们已经指定了要搜索的字段(假设我们只指定了一个字段),为什么我们仍然能够获得其他字段来影响总结果(我想这一定是我对edismax工作原理的误解,但这也是我的困惑。)?
或者这意味着每次,edismax都会计算所有字段的所有分数,并将其应用于最终分数(即使我们只指定一个字段)?
否,tie参数与字段无关。让我解释一下eDisMax所做的基本工作——当它针对多个字段工作时,它不会对字段间的分数求和(例如布尔查询),而是选择最大值。
例如,如果我们有字段A和B,字段A的分数是3.0,而字段B的分数是5.0,那么eDisMax将得到5.0,完全忽略其他分数。
"tie"参数用于配置与得分最高字段相比,得分较低字段的得分对查询的最终得分的影响程度。
因此,如果平局=0.1,那么上一个例子的最终得分将是5.0+0.1*3.0=5.3
有关tie参数的更多信息:https://wiki.apache.org/solr/ExtendedDisMax#tie_.28Tie_breaker.29