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
はランクの計算方法が異なるようです。2 つの DB からの結果のランクは大きく異なるため、レコードのシーケンスも大きく異なります。
実際、属性「full_desc」には、値が「children」または「children's」のレコードがあり、これが理由である可能性があると推測しています。
しかし、テキスト '"children*"' についても一致させようとしましたが、2008 年と 2012 年の結果は依然として大きく異なります。ここでも、 によって返されるランク値CONTAINSTABLE
が異なります。
誰か助けてくれませんか?ありがとう。