我对eDisMax中的qf和tie参数感到困惑
根据文件:
该QF是用来指定要搜索的领域,而领带是使用指定的所有其他领域(除了得分最高的领域)的影响,以总比分。
我的困惑是,因为我们已经指定了要搜索的字段(假设仅指定一个字段),为什么我们仍然能够获得其他字段来影响总结果(我想这一定是我对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
有关领带参数的更多信息:https : //wiki.apache.org/solr/ExtendedDisMax#tie_.28Tie_breaker.29