-1

我在 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”的记录,我猜这可能是原因。

但我也尝试在文本'"children*"' 上进行匹配,但 2008 年和 2012 年的结果仍然有很大不同。再次,返回的排名值CONTAINSTABLE是不同的。

有人可以帮我吗?谢谢。

4

1 回答 1

1

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

SQL Server 全文搜索 (FTS) 博客

于 2013-02-21T10:32:00.020 回答