2011-08-05 12 views
1

が含まれています。一例として、この場合、2つの第1列については0.8、最後の列については0.5となる。TSQLは、私は、次の要求を持って秤量列

複数の検索語がある場合に重みを割り当てることは可能ですが、同じことを列に対して行うことは可能ですか?

答えて

1

マイクロソフトではこれを実現する方法を示唆していませんが、インパクトされたキーワードの重み付けしかできません。 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) 
によって順序付けされている計量されます
関連する問題