【发布时间】:2013-02-20 23:30:19
【问题描述】:
我在 SQL Server 2008 和 2012 中有 2 个相同的数据库,它们具有相同的全文索引设置。
但是当我执行CONTAINSTABLE 时,我得到了非常不同的结果。
SELECT course_id,course_name, full_desc, KEY_TBL.rank*20,MembershipType,cpl
FROM Course_Search_TBL_WithDup AS cda with (nolock)INNER JOIN CONTAINSTABLE
(Course_Search_TBL_WithDup, full_desc, '"children"',500)
AS KEY_TBL ON cda.id = KEY_TBL.[KEY]
似乎 2012 年和 2008 年 CONTAINSTABLE 会以不同的方式计算排名。因为两个数据库的结果排名不同,所以记录的顺序也很不同。
事实是,在属性“full_desc”中,我有值为“children”或“children's”的记录,我猜这可能是原因。
但我也尝试在文本“儿童*”上进行匹配,但 2008 年和 2012 年的结果仍然有很大不同。再一次,CONTAINSTABLE 返回的排名值是不同的。
有人可以帮帮我吗? 谢谢。
【问题讨论】:
标签: sql-server-2008 sql-server-2012 containstable