Delen via


Talen die worden ondersteund door Windows Search

In dit onderwerp wordt beschreven hoe Windows Search ondersteuning biedt voor meerdere talen.

Tokenisatie, Wordbreakers en Taalbronnen

Windows Search is taalonafhankelijk, maar de nauwkeurigheid van zoeken in verschillende talen kan variëren vanwege de manier waarop woordbrekers tekst tokeniseren. Wordbreakers implementeren verschillende tokenisatieregels voor talen en splitsen tekst in afzonderlijke tokens of woorden die moeten worden geïndexeerd of doorzocht.

Zowel de taal van de geïndexeerde tekst als de querytekenreeks worden onderverdeeld in tokens. Omdat tokenisatieregels per taal verschillen, zijn er afzonderlijke woordscheidingstekens voor elke taal of familie van talen. Als de querytaal en de geïndexeerde taal niet overeenkomen, kunnen de resultaten onvoorspelbaar zijn.

Windows Search wordt geleverd met een goed gedefinieerde set woordbrekers. Klassieke woordbreker- en stemmeronderdelen worden ondersteund in Windows Vista en hoger. Als de taal van een document niet kan worden bepaald, probeert Windows Search de taal te detecteren om de meest geschikte woordbreker te identificeren. Windows Search probeert de taal te detecteren door de GetSystemPreferredUILanguages functie aan te roepen om de eerste MUI-taal (Multiple User Interface) te bepalen (dit is meestal de taal van de systeemgebruikersinterface, tenzij MUI-taalpakketten zijn geïnstalleerd). Als deze aanroep slaagt, wordt de woordbreker voor de eerste MUI-taal gebruikt. Als de aanroep naar GetSystemPreferredUILanguages mislukt, haalt Windows Search de landinstelling van het systeem op door de functie GetSystemDefaultLCID- aan te roepen en wordt de woordscheiding gebruikt die aan die landinstelling is gekoppeld.

Als er geen woordverbreking is geïnstalleerd voor een taal, wordt Windows Search verbroken op witruimte met behulp van de Neutrale woordverbreking.

U kunt een taal verwijderen via het register, zoals wordt geïllustreerd in het volgende voorbeeld.

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

Fooi

Als u wijzigingen aanbrengt in het register, start u Windows Search opnieuw.

 

Wanneer Windows Search een nieuwe woordbreker vereist, wordt de klasse-id (CLSID) gelezen en wordt de geïnstantieerde woordbreaker in de cache opgeslagen.

U kunt een aangepaste woordbreker voor een taal maken door de interface IWordBreaker te implementeren. Windows Search roept vervolgens de IWordBreaker- methoden aan wanneer inhoudsindexen worden gebouwd en query's worden uitgevoerd.

Informatie over landinstellingen voor geïndexeerde inhoud wordt opgehaald uit de bron van de inhoud. Als de bron-implementeerfunctie de landinstelling van de geïndexeerde inhoud niet kent, moet de landinstelling worden ingesteld op LOCALE_NEUTRAL.

Als u bijvoorbeeld een filterhandler implementeert (een implementatie van de IFilter interface), eigenschapshandler of protocolhandler, moet u de landinstelling voor geïndexeerde inhoud instellen op LOCALE_NEUTRAL, tenzij u specifieke landinstellingengegevens hebt en er zeker van zijn dat deze correct zijn.

Fooi

Als een indexquery is gebaseerd op gebruikersinvoer, moet de landinstelling overeenkomen met de taal waarin de gebruiker typt. U kunt deze landinstelling bepalen door de functie GetKeyboardLayout aan te roepen.

 

Talen die worden ondersteund door Wordbreakers

Windows Search bevat woordbrekers ter ondersteuning van de volgende talen.

Registersleutel Taal (subtaal) LCID
Arabic_SaudiArabia Arabisch (neutraal) 0x0001
Bengali_Default Bangla (neutraal) 0x0045
Bulgarian_Default Bulgaars (Bulgarije) 0x0402
Catalan_Default Catalaans (Catalaans) 0x0403
Chinese_HongKong Chinees (Hongkong SAR, Volksrepubliek China) 0x0C04
Chinese_Simplified Chinees (vereenvoudigd) 0x0804
Chinese_Traditional Chinees (traditioneel) 0x0404
Croatian_Default Kroatisch (Kroatië) 0x041A
Czech_Default Tsjechisch (Tsjechische Republiek) 0x0405
Danish_Default Deens (Denemarken) 0x0406
Dutch_Dutch Nederlands (Nederland) 0x0413
English_UK Engels (Verenigd Koninkrijk) 0x0809
English_US Engels (Verenigde Staten) 0x0409
Finnish_Default Fins (Finland) 0x040B
French_French Frans (Frankrijk) 0x040C
German_German Duits (Duitsland) 0x0407
Greek_Default Grieks (Griekenland) 0x0408
Gujarati_Default Gujarati (India) 0x0447
Hebrew_Default Hebreeuws (neutraal) 0x000D
Hindi_Default Hindi (India) 0x0439
Hungarian_Default Hongaars (Hongarije) 0x040E
Icelandic_Default IJslands (IJsland) 0x040F
Indonesian_Default Indonesisch (Indonesië) 0x0421
Italian_Italian Italiaans (Italië) 0x0410
Japanese_Default Japans (Japan) 0x0411
Kannada_Default Kannada (India) 0x044B
Korean_Default Koreaans (Korea) 0x0412
Latvian_Default Lets (Letland) 0x0426
Lithuanian_Default Litouws (Litouws) 0x0427
Malay_Malaysia Maleis (Maleisië) 0x043E
Malayalam_Default Malayalam (neutraal) 0x004C
Marathi_Default Marathi (India) 0x044E
Norwegian_Bokmal Noors (Bokmål, Noorwegen) 0x0414
Polish_Default Pools (Polen) 0x0415
Portuguese_Portugal Portugees (Portugal) 0x0816
Portuguese_Brazil Portugees (Brazilië) 0x0416
Punjabi_Default Punjabi (India) 0x0446
Romanian_Default Roemeens (Roemenië) 0x0418
Russian_Default Russisch (neutraal) 0x0019
Serbian_Cyrillic Servisch (Servië en Montenegro, voormalig, Cyrillisch) 0x0C1A
Serbian_Latin Servisch (Servië en Montenegro, voormalig, Latijns) 0x081A
Slovak_Default Slowaaks (Slowakije) 0x041B
Slovenian_Default Sloveens (Slovenië) 0x0424
Spanish_Modern Spaans (Spanje, moderne sortering) 0x0C0A
Swedish_Default Zweeds (Zweden) 0x041D
Tamil_Default Tamil (India) 0x0449
Telugu_Default Telugu (India) 0x044A
Thai_Default Thai (Thailand) 0x041E
Turkish_Default Turks (Türk calendar) 0x041F
Ukrainian_Default Oekraïens (Oekraïne) 0x0422
Urdu_Default Urdu (Pakistan) 0x0420
Vietnamese_Default Vietnamees (Vietnam) 0x042A

 

Notitie

LCID's voor sommige talen in de tabel worden gegenereerd met behulp van de taal-id, subtaal-id en sorteer-id.

 

Zie Language Identifier Constants and Stringsvoor meer informatie over talen en bijbehorende id's.

Notitie

Er is geen garantie dat al deze taalregistersleutels aanwezig zijn op een bepaalde computer. De woordbreker voor een bepaalde taal kan al dan niet op de computer worden geïnstalleerd, afhankelijk van de gebruikersinstellingen.

 

vanaf Windows 8.1is de voorkeursmethode voor het gebruik van woordverbrekers via de WinRT-API WordsSegmenter-klasse.

Aanvullende informatiebronnen

Overzicht van Windows Search

Windows Search als een ontwikkelplatform

Beheerde code gebruiken met Shell-gegevens en Windows Search-