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