【问题标题】:Handle Search Result relevance from multi Table using FREETEXTTABLE使用 FREETEXTTABLE 处理来自多表的搜索结果相关性
【发布时间】:2012-12-30 21:16:58
【问题描述】:

我正在开发一个应用程序,它允许用户通过关键字搜索来查找产品参考(使用 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 引用会更少,因为即使加法得分相同,结果也不相同。

任何提高结果相关性的建议将不胜感激

【问题讨论】:

    标签: sql full-text-search relevance freetexttable


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-01
      • 1970-01-01
      • 2014-02-18
      • 1970-01-01
      • 2016-07-21
      相关资源
      最近更新 更多