2011-07-13 44 views
3

我試圖實施全文搜索。我正在使用FREETEXT並獲得正確的結果。問題是結果的順序。如果嘗試搜索「停車場」,匹配這兩個詞的結果應該在開頭,然後那些匹配其中一個的結果。我怎樣才能做到這一點?FREETEXT搜索 - 根據它們的匹配程度排序結果

感謝

回答

8

使用FREETEXTTABLE,而不是FREETEXT。

FREETEXTTABLE將返回包含Rank信息的密鑰表。您可以對此排名信息進行排序以查找最接近匹配的項目。

Microsoft FREETEXTTABLE documentation

下面的例子顯示了這一過程:

SELECT 
    t.TableID 
    , t.TextData 
    , ft.Rank 
FROM 
    Table t 
    INNER JOIN FREETEXTTABLE (Table , * , 'car park') ft ON (t.TableID = ft.[Key]) 
ORDER BY 
    ft.Rank DESC 
+0

感謝。我不知道爲什麼我在閱讀文檔時忽略了這一點。 – kubal5003

相關問題