2
到目前爲止,我沒有從我的全文查詢中獲得有意義的結果,因此我決定給出一個簡單的示例,說明我正在嘗試執行的操作以及我期望的結果。SQL Server Full-Text排名示例
我爲列[Car]和主鍵[CarID]啓用了全文啓用以下測試表(tblCars)。
CarID Car ----- ----------------- 9 BMW 330Ci 2009 14 AUDI A4 2010 16 AUDI A3 2.0T 2009
我要運行術語「奧迪,寶馬」一個排名的搜索,我希望得到所有的搜索結果排名等。
SELECT tblCars.*, [RANK] AS Ranked FROM viewCarSearch INNER JOIN (SELECT [KEY] AS CarID, [RANK] AS Ranked FROM CONTAINSTABLE (tblCars, Car, @SearchOr)) tblSearch ON tblCars.CarID = tblSearch.CarID
相反,我得到這個:
CarID Car Ranked ----- ------------------ ------- 9 BMW 330Ci 2009 48 14 AUDI A4 2010 32 16 AUDI A3 2.0T 2009 32
事實上,無論我做什麼OR的組合,寶馬永遠是排高於或等於AUDI即使它看起來完全不合邏輯。我嘗試過在搜索字詞中使用一些AND,但仍然給出了奇怪的結果,寶馬總是表現得比預期更有利。
任何人都可以指出我要去哪裏錯......我想我的期望一定是錯的,但我無法想象我將如何得到一張大桌子的好排名結果。
...和CarID 14的文字比CarID 9的文字短,因此通過相同的邏輯,我期望CarID 14能夠勝過它......也許我只是需要更多的數據才能真正看到更好的結果。感謝您的反饋意見。 – 3advance 2010-09-24 16:08:12