2013-02-20 62 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