방법: 사용이 허가된 타사 단어 분리기 로드
SQL Server 2008 R2에는 다음 언어에 대해 사용 허가를 받은 타사 단어 분리기가 포함되어 있습니다.
덴마크어
폴란드어
터키어
이러한 단어 분리기는 기본적으로 설치되어 있지는 않지만 수동으로 등록한 다음 전체 텍스트 인덱싱 및 쿼리에서 지원되는 LCID 목록에 추가하여 사용할 수 있습니다. 단어 분리기를 소유한 타사에서 단어 분리기를 기본적으로 사용하는 데 필요한 테스트, 보안 및 견고성 수준을 제공하지 않았으므로 이러한 단어 분리기는 기본적으로 사용되지 않습니다.
필수 구성 요소 정보
단어 분리기를 로드하려면 다음과 같은 정보가 필요합니다.
단어 분리기를 등록할 각 SQL Server 인스턴스의 인스턴스 이름
각 인스턴스의 FTDATA 경로
인스턴스 ID를 가져온 다음에는 FTData 폴더에 대한 해당 인스턴스별 경로를 검색해야 합니다. 언어에 대한 어휘집 및 동의어 사전 파일을 지정하는 구성 값을 추가할 때 이 경로를 사용합니다.
각 SQL Server 인스턴스의 인스턴스 이름을 가져오려면
시작을 클릭한 다음 실행을 클릭합니다.
실행 대화 상자의 열기 상자에 Regedit를 입력합니다.
확인을 클릭합니다. 레지스트리 편집기가 열립니다.
레지스트리 편집기에서 첫 번째 SQL Server 2008 R2 인스턴스에 대한 레지스트리 키 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\SQL 을 선택합니다. 여기서 인스턴스 ID는 MSSQL10_50.MSSQLSERVER입니다.
오른쪽 창에 인스턴스 이름 및 해당 인스턴스 ID가 표시됩니다.
중요 |
---|
다른 서버 인스턴스의 인스턴스 이름을 가져오려면 레지스트리 경로에 MSSQL10_50.MSSQLSERVER 대신 해당 인스턴스의 인스턴스 ID를 사용해야 합니다. |
각 인스턴스의 FTData 경로를 가져오려면
시작을 클릭한 다음 실행을 클릭합니다.
실행 대화 상자의 열기 상자에 Regedit를 입력합니다.
확인을 클릭합니다.
레지스트리 편집기에서 SQL Server 인스턴스에 대한 레지스트리 키 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\instance_ID\MSSQLServer에서 instance_ID는 SQL Server의 첫 번째 인스턴스에 대한 MSSQL10_50.MSSQLSERVER입니다. 레지스트리 키 값은 다음과 같이 됩니다.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\Setup
오른쪽 창에 FTData 폴더의 인스턴스별 경로를 포함하는 FullTextDefaultPath 값이 표시됩니다. 예를 들어 첫 번째 SQL Server 2008 R2 인스턴스의 경우 다음과 같은 기본 경로가 표시될 수 있습니다.
C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\FTData
단어 분리기 및 관련 언어 구성 요소 등록
Microsoft에서 허가한 타사 단어 분리기의 설치 절차는 다음 세 단계로 구성됩니다. 다음 목록에서는 이 섹션의 뒷부분에 설명되어 있는 이러한 단계에 대해 간단히 설명합니다.
등록하려는 언어에 대한 단어 분리기 및 형태소 분석기 인터페이스의 COM ClassID를 레지스트리의 <InstanceRoot>\MSSearch\CLSID 노드에 키로 추가합니다.
언어의 <InstanceRoot>\MSSearch\Language 노드에 키를 추가합니다.
언어에 대한 어휘집 및 동의어 사전 파일의 위치를 지정하는 구성 값을 추가합니다.
[!참고]
이 섹션에서는 덴마크어 단어 분리기를 예로 사용합니다. 각 언어의 단어 분리기 설치에 필요한 값은 이 항목의 뒷부분에 나오는 표에서 제공합니다.
1단계: 등록하려는 언어에 대한 단어 분리기 및 형태소 분석기 인터페이스의 COM ClassID 추가
주의 |
---|
레지스트리를 올바르게 편집하지 않으면 시스템을 심각하게 손상시킬 수 있습니다. 따라서 레지스트리를 변경하기 전에 컴퓨터의 중요한 데이터를 백업해 두어야 합니다. |
덴마크어에 대해 이러한 구성 요소의 COM Class ID를 추가하려면 다음을 수행하십시오.
다음과 같이 레지스트리 편집기를 엽니다.
시작을 클릭한 다음 실행을 클릭합니다.
실행 대화 상자의 열기 상자에 Regedit를 입력합니다.
레지스트리 편집기에서 첫 번째 SQL Server 인스턴스의 다음 레지스트리 키를 선택합니다. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSearch\CLSID
메뉴 모음에서 편집, 새로 만들기, 키를 차례로 클릭합니다.
{16BC5CE4-2C78-4CB9-80D5-386A68CC2B2D}를 입력합니다.
Enter 키를 누릅니다.
오른쪽 창에서 기본값 레지스트리 값을 마우스 오른쪽 단추로 클릭한 다음 수정을 클릭합니다.
문자열 편집 대화 상자의 값 데이터 상자에 danlr.dll을 입력한 다음 확인을 클릭합니다.
4단계의 값을 {83BC7EF7-D27B-4950-A743-0F8E5CA928F8}로 바꿔 3-7단계를 반복합니다.
특정 언어의 경우 4-8단계의 키 값을 원하는 언어의 키 값으로 바꿔 위의 단계를 따릅니다. 이러한 값은 아래에 나열되어 있습니다. 7단계에서 danlr.dll을 원하는 언어의 .dll 이름으로 바꿉니다.
언어 |
4단계의 키 값 |
7단계의 .DLL 이름 |
8단계의 키 값 |
---|---|---|---|
덴마크어 |
{16BC5CE4-2C78-4CB9-80D5-386A68CC2B2D} |
danlr.dll |
{83BC7EF7-D27B-4950-A743-0F8E5CA928F8} |
폴란드어 |
{B8713269-2D9D-4BF5-BF40-2615D75723D8} |
lrpolish.dll |
{CA665B09-4642-4C84-A9B7-9B8F3CD7C3F6} |
터키어 |
{23A9C1C3-3C7A-4D2C-B894-4F286459DAD6} |
trklr.dll |
{8DF412D1-62C7-4667-BBEC-38756576C21B} |
2단계: 언어의 <InstanceRoot>\MSSearch\Language 노드에 키를 추가합니다.
덴마크어에 대해 이 노드에 키를 추가하려면 다음을 수행하십시오.
첫 번째 SQL Server 인스턴스의 다음 레지스트리 키를 선택합니다. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSearch\Language
4단계의 키 이름을 dan으로 바꿔 이전 절차의 3-5단계를 반복합니다.
특정 언어의 경우 4단계의 키 이름을 아래에 나열된 해당 언어의 값으로 바꿔 위의 단계를 따릅니다.
언어 |
4단계의 키 이름 |
---|---|
덴마크어 |
dan |
폴란드어 |
plk |
터키어 |
trk |
3단계: 언어에 대한 각 언어 구성 요소의 위치를 제공하는 구성 값 추가
덴마크어에 대해 이러한 구성 요소의 구성 값을 추가하려면 다음을 수행하십시오.
위의 2단계에서 입력한 레지스트리 키를 선택합니다. 첫 번째 SQL Server 인스턴스의 경우 다음과 같습니다. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSearch\Language\dan
메뉴 모음에서 편집, 새로 만들기, 문자열 값을 차례로 클릭합니다.
TsaurusFile을 입력합니다.
Enter 키를 누릅니다.
방금 추가한 TsaurusFile 레지스트리 값을 마우스 오른쪽 단추로 클릭한 다음 수정을 클릭합니다.
문자열 편집 대화 상자의 값데이터 상자에 tsdan.xml을 입력합니다.
확인을 클릭합니다.
언어의 나머지 언어 구성 요소(동의어 사전 파일, 언어(로캘), 단어 분리기 및 형태소 분석기)에 대해 2-7단계를 반복합니다. 다음은 덴마크어 폴란드어 또는 터키어에 대해 이러한 구성 요소를 등록하는 값입니다.
덴마크어 값
각 값에 대해 언어별 값 유형(2단계), 값 이름(3-5단계) 및 값 데이터(6단계)를 바꾼 다음 2-7단계를 반복하여 아래 나열된 각 값 집합을 추가합니다.
2단계의 값 유형 |
3-5단계의 값 이름 |
6단계의 값 유형 |
---|---|---|
문자열 값 |
TsaurusFile |
tsdan.xml |
DWORD 값 |
로캘 |
00000406 |
문자열 값 |
WBreakerClass |
{16BC5CE4-2C78-4CB9-80D5-386A68CC2B2D} |
문자열 값 |
StemmerClass |
{83BC7EF7-D27B-4950-A743-0F8E5CA928F8} |
폴란드어 값
폴란드어의 경우 아래 나열된 값을 사용하여 위에 약술된 단계를 따릅니다. 위의 2단계에서 폴란드어에 대해 입력한 레지스트리 키를 선택합니다. 첫 번째 SQL Server 인스턴스의 경우 다음과 같습니다. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSearch\Language\plk
각 값에 대해 언어별 값 유형(2단계), 값 이름(3-5단계) 및 값 데이터(6단계)를 바꾼 다음 2-7단계를 수행하여 아래 나열된 각 값 집합을 추가합니다.
2단계의 값 유형 |
3-5단계의 값 이름 |
6단계의 값 데이터 |
---|---|---|
문자열 값 |
TsaurusFile |
tsplk.xml |
DWORD 값 |
로캘 |
00000415 |
문자열 값 |
WBreakerClass |
{CA665B09-4642-4C84-A9B7-9B8F3CD7C3F6} |
문자열 값 |
StemmerClass |
{B8713269-2D9D-4BF5-BF40-2615D75723D8} |
터키어 값
터키어의 경우 아래 나열된 값을 사용하여 위에 약술된 단계를 따릅니다. 위의 2단계에서 터키어에 대해 입력한 레지스트리 키를 선택합니다. 첫 번째 SQL Server 인스턴스의 경우 다음과 같습니다. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSearch\Language\trk
각 값에 대해 언어별 값 유형(2단계), 값 이름(3-5단계) 및 값 데이터(6단계)를 바꾼 다음 2-7단계를 수행하여 아래 나열된 각 값 집합을 추가합니다.
2단계의 값 유형 |
3-5단계의 값 이름 |
6단계의 값 데이터 |
---|---|---|
문자열 값 |
TsaurusFile |
tstrk.xml |
DWORD 값 |
Locale |
0000041f |
문자열 값 |
WBreakerClass |
{8DF412D1-62C7-4667-BBEC-38756576C21B} |
문자열 값 |
StemmerClass |
{23A9C1C3-3C7A-4D2C-B894-4F286459DAD6} |
전체 텍스트 검색에서 지원하는 언어 목록 업데이트
타사 단어 분리기를 로드한 후에는 전체 텍스트 인덱싱 및 쿼리에서 지원되는 LCID 목록을 새로 고쳐야 합니다. 이 목록을 새로 고치려면 sp_fulltext_service 시스템 저장 프로시저를 사용하여 다음 단계를 수행합니다.
새로 설치된 단어 분리기 및 필터를 다음과 같이 서버 인스턴스에 로드합니다.
EXEC sp_fulltext_service @action='load_os_resources', @value=1;
언어 목록을 다음과 같이 업데이트합니다.
exec sp_fulltext_service 'update_languages';
이제 sys.fulltext_languages 카탈로그 뷰 목록에 새로 로드된 단어 분리기가 표시됩니다.