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