2013-02-20 2 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'값이있는 레코드가 있는데 이는 이유라고 생각됩니다.

하지만 'children *' '텍스트에도 일치 시키려고했으나 2008 년과 2012 년의 결과는 여전히 매우 다릅니다. 다시 한 번 CONTAINSTABLE에 의해 반환 된 순위 값이 다릅니다.

누구든지 나를 도와 줄 수 있습니까? 감사합니다. . 전체 텍스트 검색은 SQL 서버 2012에서 크게 변경되었습니다

답변

1

, 다른 방법 필요한 경우 이전 동작으로 다시 복귀하는 것에 대한 자세한 내용은 다음 블로그 게시물을 참조하십시오

SQL Server Full-Text Search (FTS) Blog

+0

은 안녕 변경 내 enu 및 eng wordbreaker : http : //msdn.microsoft.com/en-us/library/gg509108.aspx 그러나 결과는 전혀 변경되지 않습니다. 2012 년은 여전히 ​​2008 년과 매우 다릅니다. – user2093360

관련 문제