我在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
返回的排名值也不同。
请问有人帮帮我吗? 感谢。
答案 0 :(得分:1)
SQL Server 2012中的全文搜索已发生显着变化,请参阅以下博客文章,了解有关不同之处以及如何在需要时恢复旧行为的详细信息: