SQL Server 2008和2012中的CONTAINSTABLE的不同结果

时间:2013-02-20 23:30:20

标签: sql-server-2008 sql-server-2012 containstable

我在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会以不同的方式计算排名。因为来自两个DB的结果具有非常不同的等级,因此记录的顺序是非常不同的。

事实上,在属性'full_desc'中,我有值'children'或'children'的记录,我猜这可能是原因。

但我也尝试在文字“儿童*”上进行匹配,但2008年和2012年的结果仍然非常不同。同样,CONTAINSTABLE返回的排名值也不同。

请问有人帮帮我吗? 感谢。

1 个答案:

答案 0 :(得分:1)

SQL Server 2012中的全文搜索已发生显着变化,请参阅以下博客文章,了解有关不同之处以及如何在需要时恢复旧行为的详细信息:

SQL Server Full-Text Search (FTS) Blog