다음을 통해 공유


Windows Search에서 지원되는 언어

이 항목에서는 Windows Search에서 여러 언어를 지원하는 방법을 설명합니다.

토큰화, Wordbreakers 및 언어 리소스

Windows Search는 언어에 독립적이지만 단어 분리기가 텍스트를 토큰화하는 방식 때문에 언어 간 검색 정확도가 다를 수 있습니다. Wordbreakers는 언어에 대한 다양한 토큰화 규칙을 구현하고 텍스트를 인덱싱하거나 검색할 개별 토큰 또는 단어로 분할합니다.

인덱싱된 텍스트의 언어와 쿼리 문자열은 모두 토큰으로 나뉩니다. 토큰화 규칙은 언어에 따라 다르기 때문에 각 언어 또는 언어 패밀리에 대해 별도의 단어 분리기가 있습니다. 쿼리 언어와 인덱싱된 언어가 일치하지 않으면 결과를 예측할 수 없습니다.

Windows Search는 잘 정의된 단어 분리기 세트와 함께 제공됩니다. 클래식 단어 분리기 및 형태소 분석기 구성 요소는 Windows Vista 이상에서 지원됩니다. 문서의 언어를 확인할 수 없는 경우 Windows Search는 언어를 검색하여 가장 적절한 단어 분리기를 식별하려고 시도합니다. Windows Search는 GetSystemPreferredUILanguages 함수를 호출하여 첫 번째 MUI(다중 사용자 인터페이스) 언어(MUI 언어 팩이 설치되지 않은 경우 일반적으로 시스템 UI 언어)를 확인하여 언어를 검색하려고 시도합니다. 해당 호출이 성공하면 첫 번째 MUI 언어에 대한 단어 분리기가 사용됩니다. GetSystemPreferredUILanguages에 대한 호출이 실패하면 Windows Search는 GetSystemDefaultLCID 함수를 호출하여 시스템 로캘을 검색하고 해당 로캘과 연결된 단어 분리기를 사용합니다.

언어에 대한 단어 분리기가 설치되지 않은 경우 Windows Search는 중립 단어 분리기를 사용하여 공백을 중단합니다.

다음 예제와 같이 레지스트리를 통해 언어를 제거할 수 있습니다.

HKEY_LOCAL_MACHINE
   SYSTEM
      CurrentControlSet
         Control
            ContentIndex
               Language
                  Dutch_Dutch
                     (Default)
                     Locale
                     NoiseFile
                     StemmerClass = CLSID
                     WBreakerClass = CLSID

레지스트리를 변경하는 경우 Windows Search를 다시 시작합니다.

 

Windows Search에 새 단어 분리기가 필요한 경우 CLSID(클래스 식별자)를 읽고 인스턴스화된 단어 분리기가 캐시됩니다.

IWordBreaker 인터페이스를 구현하여 언어에 대한 사용자 지정 단어 분리기를 만들 수 있습니다. 그런 다음 Windows Search는 콘텐츠 인덱스를 빌드하고 쿼리를 실행할 때 IWordBreaker 메서드를 호출합니다.

인덱싱된 콘텐츠에 대한 로캘 정보는 콘텐츠 원본에서 검색됩니다. 원본 구현자가 인덱싱된 콘텐츠의 로캘을 모르는 경우 로캘을 LOCALE_NEUTRAL 설정해야 합니다.

예를 들어 필터 처리기( IFilter 인터페이스의 구현), 속성 처리기 또는 프로토콜 처리기를 구현하는 경우 특정 로캘 정보가 있고 정확도를 확신하지 않는 한 인덱싱된 콘텐츠의 로캘을 LOCALE_NEUTRAL 설정해야 합니다.

인덱스 쿼리가 사용자 입력을 기반으로 하는 경우 로캘은 사용자가 입력하는 언어와 일치해야 합니다. GetKeyboardLayout 함수를 호출하여 이 로캘을 확인할 수 있습니다.

 

Wordbreakers에서 지원하는 언어

Windows Search에는 다음 언어를 지원하는 단어 분리기가 포함되어 있습니다.

레지스트리 키 언어(하위 언어) LCID
Arabic_SaudiArabia 아랍어(중립) 0x0001
Bengali_Default 벵골어(중립) 0x0045
Bulgarian_Default 불가리아어(불가리아) 0x0402
Catalan_Default 카탈로니아어(카탈로니아) 0x0403
Chinese_HongKong 중국어(홍콩 특별 행정구, 중국) 0x0C04
Chinese_Simplified 중국어(간체) 0x0804
Chinese_Traditional 중국어(번체) 0x0404
Croatian_Default 크로아티아어(크로아티아) 0x041A
Czech_Default 체코어(체코) 0x0405
Danish_Default 덴마크어(덴마크) 0x0406
Dutch_Dutch 네덜란드어(네덜란드) 0x0413
English_UK 영어(영국) 0x0809
English_US 영어(미국) 0x0409
Finnish_Default 핀란드어(핀란드) 0x040B
French_French 프랑스어(프랑스) 0x040C
German_German 독일어(독일) 0x0407
Greek_Default 그리스어(그리스) 0x0408
Gujarati_Default 구자라트어(인도) 0x0447
Hebrew_Default 히브리어(중립) 0x000D
Hindi_Default 힌디어(인도) 0x0439
Hungarian_Default 헝가리어(헝가리) 0x040E
Icelandic_Default 아이슬란드어(아이슬란드) 0x040F
Indonesian_Default 인도네시아어(인도네시아) 0x0421
Italian_Italian 이탈리아어(이탈리아) 0x0410
Japanese_Default 일본어(일본) 0x0411
Kannada_Default 칸나다어(인도) 0x044B
Korean_Default 한국어(한국) 0x0412
Latvian_Default 라트비아어(라트비아) 0x0426
Lithuanian_Default 리투아니아어(리투아니아어) 0x0427
Malay_Malaysia 말레이어(말레이시아) 0x043E
Malayalam_Default 말라얄람어(중립) 0x004C
Marathi_Default 마라티어(인도) 0x044E
Norwegian_Bokmal 노르웨이어(복말)(노르웨이) 0x0414
Polish_Default 폴란드어(폴란드) 0x0415
Portuguese_Portugal 포르투갈어(포르투갈) 0x0816
Portuguese_Brazil 포르투갈어(브라질) 0x0416
Punjabi_Default 펀잡어(인도) 0x0446
Romanian_Default 루마니아어(루마니아) 0x0418
Russian_Default 러시아어(중립) 0x0019
세르비아어 키릴 자모 세르비아어(세르비아 및 몬테네그로, 구, 키릴 자모) 0x0C1A
세르비아어 라틴어 세르비아어(세르비아 및 몬테네그로, 이전, 라틴어) 0x081A
Slovak_Default 슬로바키아어(슬로바키아) 0x041B
Slovenian_Default 슬로베니아어(슬로베니아) 0x0424
Spanish_Modern 스페인어(스페인, 현대 정렬) 0x0c0a
Swedish_Default 스웨덴어(스웨덴) 0x041D
Tamil_Default 타밀어(인도) 0x0449
Telugu_Default 텔루구어(인도) 0x044A
Thai_Default 태국어(태국) 0x041E
Turkish_Default 터키어(튀르키예) 0x041F
Ukrainian_Default 우크라이나어(우크라이나) 0x0422
Urdu_Default 우르두어(파키스탄) 0x0420
Vietnamese_Default 베트남어(베트남) 0x042A

 

참고

테이블의 일부 언어에 대한 LCID는 언어 식별자, 하위 언어 식별자 및 정렬 식별자를 사용하여 생성됩니다.

 

언어 및 관련 식별자에 대한 자세한 내용은 언어 식별자 상수 및 문자열을 참조하세요.

참고

이러한 모든 언어 레지스트리 키가 지정된 머신에 있을 것이라는 보장은 없습니다. 지정된 언어의 단어 분리기는 사용자 설정에 따라 컴퓨터에 설치되거나 설치되지 않을 수 있습니다.

 

Windows 8.1 시작해도 단어 분리기를 사용하는 기본 방법은 WinRT API WordsSegmenter 클래스를 사용하는 것입니다.

추가 리소스

Windows 검색 개요

개발 플랫폼으로서의 Windows 검색

셸 데이터 및 Windows 검색에서 관리 코드 사용