2013-01-16 40 views
0

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

现在我想根据他们在这两个请求上的排名找到最相关的参考。

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

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

回答

0

我不是专家,但我会去的总和,因为FREETEXTTABLE可以在这种情况下,在一个表中返回0,这样乘法将不反映现实。我在OKAPI BM25 ranking formula中看到一个类比,其中一般排名是通过对您的查询的单个条款进行排名并对它们进行求和来计算的。