【发布时间】:2010-09-22 23:51:52
【问题描述】:
到目前为止,我的全文查询没有得到有意义的结果,所以我决定举一个简单的例子来说明我正在尝试做的事情以及我期望的结果。
我已经为 [Car] 列和主键 [CarID] 启用了以下测试表 (tblCars)。
车牌车 ----- ----- 9 宝马 330Ci 2009 14 奥迪 A4 2010 16 奥迪 A3 2.0T 2009我想对术语“audi OR bmw”进行排名搜索,我希望在所有搜索结果中获得相同的排名。
SELECT tblCars.*, [RANK] AS Ranked FROM viewCarSearch 内部联接 (选择 [KEY] 作为 CarID,[RANK] 从 CONTAINSTABLE 中排名 (tblCars,汽车,@SearchOr)) tblSearch ON tblCars.CarID = tblSearch.CarID相反,我得到了这个:
CarID汽车排行 ----- ------ -------- 9 宝马 330Ci 2009 48 14 奥迪 A4 2010 32 16 奥迪 A3 2.0T 2009 32事实上,无论我使用哪种 OR 组合,即使看起来完全不合逻辑,BMW 的排名总是高于或等于 AUDI。我尝试在我的搜索词中使用一些 AND,但它仍然给出了奇怪的结果,BMW 的显示总是比预期的要好。
谁能指出我哪里出错了...我想我的期望一定是错的,但我无法想象我将如何在一张大桌子上获得排名靠前的结果。
【问题讨论】:
标签: sql-server full-text-search