SQL Server 2008 전체 텍스트 검색의 주요 변경 내용

이 항목에서는 전체 텍스트 검색의 주요 변경 내용에 대해 설명합니다. 이러한 변경 내용에 따라 이전 버전의 SQL Server에 기반을 둔 응용 프로그램, 스크립트 또는 기능을 사용하지 못할 수도 있습니다. 이러한 문제는 업그레이드할 때 발생할 수 있습니다. 자세한 내용은 업그레이드 관리자를 사용하여 업그레이드 준비를 참조하십시오.

주요 변경

다음은 SQL Server 2008의 전체 텍스트 검색에 적용되는 주요 변경 내용입니다.

기능

시나리오

SQL Server 2005

SQL Server 2008

UDT(사용자 정의 형식)를 사용하는 CONTAINSTABLE

전체 텍스트 키가 SQL Server 사용자 정의 형식입니다(예: MyType = char(1)).

사용자 정의 형식에 할당된 형식의 키가 반환됩니다.

이 예에서는 char(1)입니다.

사용자 정의 형식의 키가 반환됩니다. 이 예에서는 MyType입니다.

CONTAINSTABLE 및 FREETEXTTABLETransact-SQL 문의 top_n_by_rank 매개 변수

top_n_by_rank 쿼리에서 0이 매개 변수로 사용됩니다.

0보다 큰 값을 사용해야 한다는 오류 메시지와 함께 실패합니다.

성공하며 0개의 행을 반환합니다.

CONTAINSTABLE 및 ItemCount

변경 내용을 MSSearch로 밀어넣기 전에 기본 테이블에서 행을 삭제합니다.

CONTAINSTABLE이 삭제할 레코드를 반환합니다. ItemCount가 변경되지 않습니다.

CONTAINSTABLE이 삭제할 레코드를 반환하지 않습니다.

FREETEXT 또는 FREETEXTTABLE

정확하게 일치하는 구를 검색합니다.

검색 문자열(freetext_string)이 큰따옴표로 묶여 있으면 형태소 분석 및 동의어 사전 검색이 수행되지 않고 구를 검색할 때와 같이 정확히 일치하는 항목만 반환됩니다. 예를 들어 FREETEXT 조건자에 "fast ships"를 지정하면 "fast ships"가 포함된 행만 반환되고 "ship your package fast"라는 구는 반환되지 않습니다.

검색 문자열이 작은따옴표나 큰따옴표로 묶여 있는지에 관계없이 FREETEXT 및 FREETEXTTABLE은 형태소 분석 및 동의어 사전 검색을 수행하기 때문에 이제 이러한 조건자로는 구 검색을 수행할 수 없습니다. 예를 들어 "fast ships"를 검색하면 "fast ships"와 "ship your package fast"가 모두 반환됩니다.

구를 검색하려면 CONTAINSCONTAINSTABLE을 사용합니다.

ItemCount

테이블에 Null 문서 또는 유형 열이 있습니다.

인덱싱된 문서뿐 아니라 Null이거나 Null 유형의 문서도 ItemCount 값으로 카운트됩니다.

인덱싱된 문서만 ItemCount 값으로 카운트됩니다.

카탈로그 ItemCount

Blob 열에 NULL 확장이 있습니다.

카탈로그의 ItemCount로 카운트됩니다.

카탈로그의 ItemCount로 카운트되지 않습니다.

UniqueKeyCount

카탈로그에서 고유 키 수를 쿼리합니다. 예를 들어 word1, word2, word3에 대해 두 테이블(테이블 1과 테이블 2)을 각각 쿼리합니다.

UniqueKeyCount = 9. 다음 테이블은 이 값을 구하는 방법을 간략히 보여 줍니다.

table1 = 3

table1의 전체 텍스트 인덱스에 대한 EOF = 1

table2 = 3

table2의 전체 텍스트 인덱스에 대한 EOF = 1

전체 텍스트 카탈로그 = 1

각 테이블의 UniqueKeyCount는 DISTINCT 키워드 수 + 1(0xFF)이며, 한 개 이상의 문서에 있는 동일 단어를 새 고유 키로 처리하지 않습니다.

카탈로그의 UniqueKeyCount는 카탈로그에 있는 각 테이블의 UniqueKeyCount 합계입니다. 다른 테이블에 있는 동일 단어가 고유 키로 처리됩니다. 이 경우 고유 키 수는 8입니다.

precompute rank 서버 수준 옵션

FREETEXTTABLE 쿼리 성능 최적화.

옵션이 1로 설정되면 top_n_by_rank로 지정된 FREETEXTTABLE 쿼리는 전체 텍스트 카탈로그에 저장된 미리 계산된 순위 데이터를 사용합니다.

지원되지 않습니다.

키 열을 업데이트할 경우의 sp_fulltext_pendingchanges

두 행 테이블에서 한 행의 전체 텍스트 키 열을 업데이트하고 sp_fulltext_pendingchanges를 실행합니다.

두 행이 표시됩니다.

한 행만 표시됩니다.

인라인 함수

전체 텍스트 연산자가 있는 인라인 함수

오류 메시지를 반환합니다.

관련 행을 반환합니다.

sp_fulltext_database

sp_fulltext_database를 사용하여 전체 텍스트 검색을 설정하거나 해제합니다.

전체 텍스트 쿼리에 대한 결과가 반환되지 않습니다. 데이터베이스에서 전체 텍스트를 사용할 수 없는 경우 전체 텍스트 작업이 허용되지 않습니다.

전체 텍스트 쿼리에 대한 결과를 반환하며 데이터베이스에서 전체 텍스트를 사용할 수 없는 경우라도 전체 텍스트 작업이 허용됩니다.

로캘별 중지 단어

벨기에 프랑스어 및 캐나다 영어와 같이 부모 언어에서 파생된 로캘별 언어를 쿼리합니다.

파생된 로캘별 언어를 부모 언어의 구성 요소(단어 분리기, 형태소 분석기 및 중지 단어)에서 처리합니다. 예를 들어 프랑스어(프랑스)는 프랑스어(벨기에)를 구문 분석하는 데 사용됩니다.

각 LCID(로캘 ID)마다 중지 단어를 명시적으로 추가해야 합니다. 예를 들어 벨기에, 캐나다, 프랑스에 대해 LCID를 지정해야 합니다.

동의어 사전 및 형태소 분석

동의어 사전 및 활용 형태(형태소 분석)를 사용합니다.

동의어 사전 단어 확장 뒤에서 자동으로 형태소가 분석됩니다.

확장에서 형태소 형태를 사용하려는 경우 형태소 형태를 명시적으로 추가해야 합니다.

전체 텍스트 카탈로그 경로 및 파일 그룹

전체 텍스트 카탈로그 작업을 수행합니다.

각 전체 텍스트 카탈로그가 물리적 경로를 사용하며 파일 그룹에 속합니다. 전체 텍스트 카탈로그는 데이터베이스 파일로 처리됩니다.

전체 텍스트 카탈로그는 가상 개체이며 어떠한 파일 그룹에도 속하지 않습니다. 전체 텍스트 카탈로그는 전체 텍스트 인덱스 그룹을 나타내는 논리적 개념입니다.

참고참고
전체 텍스트 카탈로그를 지정하는 SQL Server 2005Transact-SQL DDL 문은 올바르게 작동합니다.

sys.fulltext_catalogs

이 카탈로그 뷰의 path, data_space_id 및 file_id를 사용합니다.

이러한 열이 특정 값을 반환합니다.

전체 텍스트 카탈로그가 더 이상 파일 시스템에 없으므로 이러한 열이 NULL을 반환합니다.

sys.sysfulltextcatalogs

더 이상 사용되지 않는 이 시스템 테이블의 PATH 열을 사용합니다.

전체 텍스트 카탈로그의 파일 시스템 경로를 반환합니다.

전체 텍스트 카탈로그가 더 이상 파일 시스템에 없으므로 NULL을 반환합니다.

sp_help_fulltext_catalogs

sp_help_fulltext_catalogs_cursor

더 이상 사용되지 않는 이 저장 프로시저의 PATH 열을 사용합니다.

전체 텍스트 카탈로그의 파일 시스템 경로를 반환합니다.

전체 텍스트 카탈로그가 더 이상 파일 시스템에 없으므로 NULL을 반환합니다.

sp_help_fulltext_catalog_components

이 저장 프로시저의 sp_help_fulltext_catalog_components를 사용합니다.

현재 데이터베이스의 모든 전체 텍스트 카탈로그에 사용된 필터, 단어 분리기, 프로토콜 처리기 등 모든 구성 요소의 목록을 반환합니다.

빈 행을 반환합니다.

DATABASEPROPERTYDATABASEPROPERTYEX

IsFullTextEnabled 속성을 사용합니다.

IsFullTextEnabled 설정은 지정된 데이터베이스에서 전체 텍스트 검색이 설정되었는지 여부를 나타냅니다.

이 열의 값이 아무런 영향을 주지 않습니다. 사용자 데이터베이스는 전체 텍스트 검색을 사용하도록 항상 설정됩니다.

변경 내역

업데이트된 내용

FREETEXT 기능에 대한 행을 표에 추가했습니다.