단어 분리기 및 형태소 분석기

단어 분리기와 형태소 분석기는 모든 전체 텍스트 인덱싱된 데이터에 대해 언어 분석을 수행합니다. 언어 분석에는 단어 경계 찾기(단어 분리) 및 동사 변화(형태소 분석)가 있습니다. 단어 분리기와 형태소 분석기는 언어별로 제공되며 언어 분석 규칙은 언어마다 다릅니다. 지정된 언어에 대해 단어 분리기는 해당 언어의 어휘 규칙을 기준으로 단어의 경계를 결정하는 개별 단어를 식별합니다. 각 단어(토큰이라고도 함)는 압축된 표현으로 크기를 줄여 전체 텍스트 인덱스에 삽입됩니다. 형태소 분석기는 해당 언어의 규칙에 따라 특정 단어의 굴절형을 생성합니다. 예를 들어 "running", "ran" 및 "runner"는 "run"이라는 단어의 여러 가지 형태입니다.

언어별 단어 분리기를 사용하면 해당 언어에 맞는 비교적 정확한 결과를 반환할 수 있습니다. 해당 언어군의 단어 분리기만 있고 특정 하위 언어의 단어 분리기가 없으면 주 언어가 사용됩니다. 예를 들어 프랑스어 단어 분리기를 사용하여 프랑스어(캐나다) 텍스트를 처리합니다. 특정 언어의 단어 분리기를 사용할 수 없으면 중립 단어 분리기가 사용됩니다. 중립 단어 분리기를 사용하면 공백 및 문장 부호 표시와 같은 중립 문자에서 단어가 분리됩니다.

단어 분리기 등록

특정 언어의 단어 분리기를 사용하려면 등록해야 합니다. 단어 분리기가 등록되면 형태소 분석기, 의미 없는 단어(중지 단어) 및 동의어 사전 파일과 같은 관련 언어의 리소스도 전체 텍스트 인덱싱 및 쿼리 작업에 사용할 수 있습니다. SQL Server에서 현재 단어 분리기가 등록된 언어 목록을 보려면 다음 Transact-SQL 문을 사용하십시오.

SELECT * FROM sys.fulltext_languages

단어 분리기를 추가, 제거 또는 변경한 경우에는 전체 텍스트 인덱싱 및 쿼리에서 지원되는 Microsoft Windows LCID(로캘 ID) 목록을 새로 고쳐야 합니다. 자세한 내용은 방법: 등록된 단어 분리기 및 필터 목록 변경(Transact-SQL)을 참조하십시오.

사용 허가된 타사 단어 분리기가 SQL Server 2008에 포함되어 함께 제공됩니다. 덴마크어, 폴란드어, 터키어 등 다수의 언어에 대한 추가 타사 단어 분리기 및 형태소 분석기를 수동으로 로드할 수 있습니다. 단어 분리기를 소유한 타사에서 단어 분리기를 기본적으로 사용하는 데 필요한 테스트, 보안 및 견고성 수준을 제공하지 않았으므로 이러한 단어 분리기는 기본적으로 사용되지 않습니다. 자세한 내용은 방법: 사용이 허가된 타사 단어 분리기 로드를 참조하십시오.

전체 텍스트 언어 옵션

지역화된 버전의 SQL Server의 경우 일치하는 언어가 있으면 SQL Server 설치 프로그램에서 default full-text language 옵션을 서버 언어로 설정합니다. 지역화되지 않은 SQL Server 버전의 경우 default full-text language 옵션이 영어입니다.

전체 텍스트 인덱스를 만들거나 변경할 때는 각 전체 텍스트 인덱싱된 열마다 다른 언어를 지정할 수 있습니다. 열에 언어를 지정하지 않으면 기본 구성 옵션 default full-text language의 값이 사용됩니다.

자세한 내용은 default full-text language 옵션을 참조하십시오.

[!참고]

쿼리에 LANGUAGE 옵션을 지정하지 않은 경우 하나의 전체 텍스트 쿼리 함수 절에 있는 모든 열은 동일한 언어를 사용해야 합니다. 쿼리 중인 전체 텍스트 인덱싱된 열의 언어에 따라 전체 텍스트 쿼리 조건자(CONTAINSFREETEXT) 및 함수(CONTAINSTABLEFREETEXTTABLE)의 인수에 대해 수행되는 언어 분석이 결정됩니다.

전체 텍스트 인덱스 생성 시 언어 선택

전체 텍스트 인덱스를 만들 때는 각 인덱싱된 열에 대해 언어를 지정하는 것이 좋습니다. 열에 언어를 지정하지 않으면 시스템 기본 언어가 사용됩니다. 열의 언어에 따라 해당 열을 인덱싱하는 데 사용되는 단어 분리기와 형태소 분석기가 결정됩니다. 또한 지정된 언어의 동의어 사전 파일이 해당 열에 대한 전체 텍스트 쿼리에 사용됩니다.

전체 텍스트 인덱스를 만들기 위해 열 언어를 선택할 때 고려할 몇 가지 사항이 있습니다. 이러한 고려 사항은 전체 텍스트 엔진으로 텍스트를 토큰화한 다음 인덱싱하는 방법과 관련이 있습니다. 자세한 내용은 전체 텍스트 인덱스 생성 시 언어 선택을 위한 최선의 방법을 참조하십시오.

열의 단어 분리기 언어를 보려면

SQL Server 2008의 새로운 단어 분리기

SQL Server 2008에는 50개 이상의 언어에 대한 단어 분리기가 있습니다. 이 중 23개는 SQL Server 2005에도 있습니다. 영어, 한국어, 태국어 및 중국어(모든 형태 포함)에 대한 단어 분리기만 동일하게 유지되며, 다른 언어의 경우 SQL Server 2008에서는 보다 효과적인 언어 규칙이 있고 이전 단어 분리기보다 정확한 차세대 단어 분리기를 제공합니다. 경우에 따라 새로운 단어 분리기가 가져온 SQL Server 2005 전체 텍스트 인덱스의 단어 분리기와 약간 다르게 동작할 수도 있습니다. 이는 SQL Server 2005 데이터베이스를 SQL Server 2008로 업그레이드한 상태에서 전체 텍스트 카탈로그를 가져온 경우에 중요합니다. 이제 전체 텍스트 카탈로그의 전체 텍스트 인덱스에서 사용되는 하나 이상의 언어를 새로운 단어 분리기와 연결할 수 있습니다. 자세한 내용은 전체 텍스트 검색 업그레이드를 참조하십시오.

SQL Server 2005에서 지원되는 언어에 대한 단어 분리기 버전

영어, 한국어, 태국어 및 중국어(모든 형태 포함)에 대한 단어 분리기만 동일하게 유지됩니다. 다음 표에서는 SQL Server 2005에 있는 단어 분리기를 나열하며 이들 단어 분리기가 SQL Server 2008에서 업데이트되었는지를 보여 줍니다. 모든 SQL Server 2008 단어 분리기의 전체 목록을 보려면 sys.fulltext_languages(Transact-SQL)를 참조하십시오.

[!참고]

기본적으로 거의 모든 언어의 단어 분리기가 등록됩니다. 하지만 사용이 허가된 여러 타사 단어 분리기는 기본적으로 해제됩니다. 이러한 언어 및 단어 분리기 등록 방법에 대한 자세한 내용은 방법: 사용이 허가된 타사 단어 분리기 로드을 참조하십시오.

언어

LCID

단어 분리기

브라질어

1046

새로 만들기

중국어(홍콩 특별 행정구, 중국)

3076

변경 안 됨

중국어(마카오 SAR)

5124

변경 안 됨

중국어(싱가포르)

4100

변경 안 됨

덴마크어(기본적으로 해제됨)

1030

변경 안 됨

네덜란드어

1043

새로 만들기

영어

1033

변경 안 됨

영어(영국)

2057

변경 안 됨

프랑스어

1036

새로 만들기

독일어

1031

새로 만들기

이탈리아어

1040

새로 만들기

일본어

1041

새로 만들기

한국어

1042

변경 안 됨

중립

0

새로 만들기

폴란드어(기본적으로 해제됨)

1045

변경 안 됨

포르투갈어

2070

새로 만들기

러시아어

1049

새로 만들기

중국어 간체

2052

변경 안 됨

스페인어

3082

새로 만들기

스웨덴어

1053

새로 만들기

태국어

1054

변경 안 됨

중국어 번체

1028

변경 안 됨

터키어(기본적으로 해제됨)

1055

변경 안 됨

지원되는 언어의 전체 목록은 sys.fulltext_languages(Transact-SQL)를 참조하십시오.

단어 분리 시간 초과 오류

단어 분리 시간 초과 오류는 다양한 상황에서 발생할 수 있습니다. 이러한 상황과 각 상황에서의 대처 방법에 대한 자세한 내용은 MSSQLSERVER_30053을 참조하십시오.

단어 분리기에 대한 정보 얻기

단어 분리기, 동의어 사전 및 중지 목록 조합의 토큰화 결과 보기

등록된 단어 분리기에 대한 정보를 반환하려면