微軟並沒有提供實現這一點的方法,你只能權衡這些關鍵詞,因爲它已經實現了。 http://msdn.microsoft.com/en-us/library/ms187787.aspx(閱讀G段)
我試圖做一個替代方式做到這一點,我希望它可以使用。
我在做什麼是稱重SearchKeyWords = 5,PTitle = 4,PDescription = 3,演示= 2這些值被總結並命令由
SELECT Id,SearchKeyWords, PTitle, PDescription, Presentation, Category, ManufacturerId, SUM(srank) ranked
FROM (
SELECT Id,SearchKeyWords, PTitle, PDescription, Presentation, Category, ManufacturerId, 5 srank
FROM V_ProductForSearch
WHERE CONTAINS ((SearchKeyWords), @KeyWords)
UNION ALL
SELECT Id,SearchKeyWords, PTitle, PDescription, Presentation, Category, ManufacturerId, 4 srank
FROM V_ProductForSearch
WHERE CONTAINS ((PTitle), @KeyWords)
UNION ALL
SELECT Id,SearchKeyWords, PTitle, PDescription, Presentation, Category, ManufacturerId , 3 srank
FROM V_ProductForSearch
WHERE CONTAINS ((PDescription), @KeyWords)
UNION ALL
SELECT Id,SearchKeyWords, PTitle, PDescription, Presentation, Category, ManufacturerId, 2 srank
FROM V_ProductForSearch
WHERE CONTAINS ((Presentation), @KeyWords)) a
GROUP BY Id,SearchKeyWords, PTitle, PDescription, Presentation, Category, ManufacturerId
ORDER BY SUM(srank)