2013-01-16 79 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中看到一個類比,其中一般排名是通過對您的查詢的單個條款進行排名並對它們進行求和來計算的。