0

我对eDisMax中的qftie参数感到困惑

根据文件:

qf用于指定搜索哪个字段,而tie用于指定所有其他字段(最高分字段除外)对总分的影响。

我的困惑是因为我们已经指定了要搜索的字段(假设我们只指定一个字段),为什么我们仍然能够获取其他字段来影响总结果(我想这一定是我对 edismax 工作原理的误解,但这也是我的困惑。)?

或者这是否意味着每次, edismax 都会计算所有字段的所有分数并将它们与最终分数联系起来(即使我们只指定一个字段)?

4

1 回答 1

6

不,tie参数与字段无关。让我解释一下eDisMax所做的基本工作 - 当它针对多个字段工作时,它不会跨字段求和得分(例如,布尔查询所做的那样),而是选择最大值。

例如,如果我们有字段 A 和 B 并且字段 A 的分数是 3.0,而对于 B - 5.0,那么 eDisMax 将获得 5.0 分,完全忽略其他分数。

“tie”参数让您配置查询的最终分数将受到与最高分数字段相比较低分数字段分数的影响程度。

因此,如果 tie = 0.1,则上一个示例的最终得分将为 5.0 + 0.1 * 3.0 = 5.3

有关tie参数的更多信息: https ://wiki.apache.org/solr/ExtendedDisMax#tie_.28Tie_breaker.29

于 2015-04-08T09:44:41.617 回答