2013-02-20 65 views
-1

我在SQL Server 2008和2012中有2个相同的数据库,它们具有相同的全文索引设置。 但是当我执行CONTAINSTABLE时,我得到了非常不同的结果。SQL Server 2008和2012中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's'的记录,我猜这可能是原因。

但是我也尝试过在文字''* *''上匹配,但2008年和2012年的结果仍然很不相同。再一次,由CONTAINSTABLE返回的等级值是不同的。

请问有人可以帮我吗? 谢谢。

回答

1

全文搜索在SQL Server 2012中显著变化,请参阅以下博客文章的详细信息,所不同的是,如何在需要时恢复到原来的行为:

SQL Server Full-Text Search (FTS) Blog

+0

您好我改变了我ENU和英文wordbreaker下面这个链接:http://msdn.microsoft.com/en-us/library/gg509108.aspx但结果并没有改变。 2012年与2008年相比仍有很大差异。 – user2093360 2013-02-24 23:13:40

相关问题