0

我正在开发一个应用程序,它允许用户通过关键字搜索(使用 SQL 2008 全文索引表的 FREETEXTTABLE 功能)查找产品引用。这些参考是从两个可靠的不同数据库中提取的。但是,当我按等级排序时,它们不会给出相同的结果。我使用如下请求:

Select xxx FROM Table as P_TBL
INNER JOIN FREETEXTTABLE(Table, column,'key words',LANGUAGE 1033) AS F_TBL
ON P_TB.id = F_TBL.[Key]
ORDER BY RANK

现在我想根据他们对 BOTH 请求的排名找到最相关的参考。

我想知道添加排名是否更好:例如,第一个表的排名为 115,第二个表的排名为 95,总排名为 210。或者,如果最好将它们相乘(100, 100 参考将变为 10 000 参考),因此 105,95 参考会更少,因为即使加法得分相同,结果也不相同。

任何提高这种情况下结果相关性的建议将不胜感激

4

1 回答 1

0

我不是专家,但我会去求和,因为 FREETEXTTABLE 可以在一个表中返回 0,所以在这种情况下,乘法不会反映现实。我在OKAPI BM25 排名公式中看到了一个类比,其中一般排名是通过对查询的各个术语进行排名并将它们相加来计算的。

于 2013-01-16T14:25:48.427 回答