Bahasa yang Didukung oleh Windows Search
Topik ini menjelaskan bagaimana Windows Search mendukung beberapa bahasa.
Tokenisasi, Wordbreakers, dan Sumber Daya Bahasa
Windows Search tidak bergantung pada bahasa, tetapi akurasi pencarian di seluruh bahasa dapat bervariasi karena cara pembuat kata membuat token teks. Wordbreakers menerapkan berbagai aturan tokenisasi untuk bahasa dan memecah teks menjadi token individual, atau kata-kata, untuk diindeks atau dicari.
Baik bahasa teks terindeks maupun string kueri dipecah menjadi token. Karena aturan tokenisasi bervariasi menurut bahasa, ada pemecah kata terpisah untuk setiap bahasa atau keluarga bahasa. Jika ada ketidakcocokan antara bahasa kueri dan bahasa yang diindeks, hasilnya tidak dapat diprediksi.
Windows Search dikirim dengan sekumpulan wordbreakers yang terdefinisi dengan baik. Komponen pemecah kata dan stemmer klasik didukung di Windows Vista dan yang lebih baru. Jika bahasa dokumen tidak dapat ditentukan, Windows Search mencoba mendeteksi bahasa untuk mengidentifikasi pemecah kata yang paling tepat. Windows Search mencoba mendeteksi bahasa dengan memanggil fungsi GetSystemPreferredUILanguages untuk menentukan bahasa Antarmuka Pengguna Ganda (MUI) pertama (yang biasanya merupakan bahasa UI sistem kecuali paket bahasa MUI diinstal). Jika panggilan itu berhasil, pemecah kata untuk bahasa MUI pertama digunakan. Jika panggilan ke GetSystemPreferredUILanguages gagal, Windows Search mengambil lokal sistem dengan memanggil fungsi GetSystemDefaultLCID dan menggunakan pemecah kata yang terkait dengan lokal tersebut.
Jika tidak ada pemecah kata yang diinstal untuk bahasa, Windows Search berhenti pada spasi kosong dengan menggunakan pemecah kata Netral .
Anda dapat menghapus bahasa melalui registri, seperti yang diilustrasikan dalam contoh berikut.
HKEY_LOCAL_MACHINE
SYSTEM
CurrentControlSet
Control
ContentIndex
Language
Dutch_Dutch
(Default)
Locale
NoiseFile
StemmerClass = CLSID
WBreakerClass = CLSID
Tip
Jika Anda membuat perubahan pada registri, mulai ulang Windows Search.
Ketika Windows Search memerlukan pemecah kata baru, pengidentifikasi kelas (CLSID) dibaca, dan pemecah kata yang dibuat di-cache.
Anda dapat membuat pemecah kata kustom untuk bahasa dengan mengimplementasikan antarmuka IWordBreaker . Windows Search kemudian memanggil metode IWordBreaker saat membangun indeks konten dan menjalankan kueri.
Informasi lokal untuk konten terindeks diambil dari sumber konten. Jika pelaksana sumber tidak mengetahui lokal konten yang diindeks, pelaksana sumber harus mengatur lokal ke LOCALE_NEUTRAL.
Misalnya, jika Anda menerapkan handler filter (implementasi antarmuka IFilter ), handler properti, atau handler protokol, Anda harus mengatur lokal untuk konten terindeks ke LOCALE_NEUTRAL kecuali Anda memiliki informasi lokal tertentu dan yakin dengan akurasinya.
Tip
Jika kueri indeks didasarkan pada input pengguna, lokal harus cocok dengan bahasa tempat pengguna mengetik. Anda dapat menentukan lokal ini dengan memanggil fungsi GetKeyboardLayout .
Bahasa yang Didukung oleh Wordbreakers
Windows Search menyertakan wordbreakers untuk mendukung bahasa berikut.
Kunci Registri | Bahasa (subbahasa) | LCID |
---|---|---|
Arabic_SaudiArabia | Arab (Netral) | 0x0001 |
Bengali_Default | Bangla (Netral) | 0x0045 |
Bulgarian_Default | Bulgaria (Bulgaria) | 0x0402 |
Catalan_Default | Bahasa Katalan (Bahasa Katalan) | 0x0403 |
Chinese_HongKong | Tionghoa (Hong Kong SAR, RRT) | 0x0C04 |
Chinese_Simplified | Tionghoa (Aksara Sederhana) | 0x0804 |
Chinese_Traditional | Tionghoa (Aksara Tradisional) | 0x0404 |
Croatian_Default | Kroasia (Kroasia) | 0x041A |
Czech_Default | Bahasa Ceko (Republik Ceko) | 0x0405 |
Danish_Default | Denmark (Denmark) | 0x0406 |
Dutch_Dutch | Belanda (Belanda) | 0x0413 |
English_UK | Inggris (Kerajaan Inggris Bersatu) | 0x0809 |
English_US | Inggris (Amerika Serikat) | 0x0409 |
Finnish_Default | Finlandia (Finlandia) | 0x040B |
French_French | Bahasa Prancis (Prancis) | 0x040C |
German_German | Bahasa Jerman (Jerman) | 0x0407 |
Greek_Default | Yunani (Yunani) | 0x0408 |
Gujarati_Default | Gujarati (India) | 0x0447 |
Hebrew_Default | Ibrani (Netral) | 0x000D |
Hindi_Default | Hindi (India) | 0x0439 |
Hungarian_Default | Bahasa Hungaria (Hungaria) | 0x040E |
Icelandic_Default | Islandia (Islandia) | 0x040F |
Indonesian_Default | Indonesia (Indonesia) | 0x0421 |
Italian_Italian | Italia (Italia) | 0x0410 |
Japanese_Default | Jepang (Jepang) | 0x0411 |
Kannada_Default | Kannada (India) | 0x044B |
Korean_Default | Korea (Korea) | 0x0412 |
Latvian_Default | Latvia (Latvia) | 0x0426 |
Lithuanian_Default | Lituania (Lithuania) | 0x0427 |
Malay_Malaysia | Melayu (Malaysia) | 0x043E |
Malayalam_Default | Malayalam (Netral) | 0x004C |
Marathi_Default | Marathi (India) | 0x044E |
Norwegian_Bokmal | Norwegia (Bokmål, Norwegia) | 0x0414 |
Polish_Default | Polandia (Polandia) | 0x0415 |
Portuguese_Portugal | Portugis (Portugal) | 0x0816 |
Portuguese_Brazil | Portugis (Brasil) | 0x0416 |
Punjabi_Default | Bahasa Punjabi (India) | 0x0446 |
Romanian_Default | Rumania (Rumania) | 0x0418 |
Russian_Default | Rusia (Netral) | 0x0019 |
Serbian_Cyrillic | Serbia (Serbia dan Montenegro, Mantan, Sirilik) | 0x0C1A |
Serbian_Latin | Serbia (Serbia dan Montenegro, Bekas, Latin) | 0x081A |
Slovak_Default | Slowakia (Slowakia) | 0x041B |
Slovenian_Default | Slovenia (Slovenia) | 0x0424 |
Spanish_Modern | Spanyol (Spanyol, Jenis Modern) | 0x0C0A |
Swedish_Default | Swedia (Swedia) | 0x041D |
Tamil_Default | Tamil (India) | 0x0449 |
Telugu_Default | Telugu (India) | 0x044A |
Thai_Default | Thailand (Thailand) | 0x041E |
Turkish_Default | Turki (Türkiye) | 0x041F |
Ukrainian_Default | Ukraina (Ukraina) | 0x0422 |
Urdu_Default | Urdu (Pakistan) | 0x0420 |
Vietnamese_Default | Bahasa Vietnam (Vietnam) | 0x042A |
Catatan
LCID untuk beberapa bahasa dalam tabel dihasilkan menggunakan pengidentifikasi bahasa, pengidentifikasi subbahasa, dan pengidentifikasi pengurutan.
Untuk informasi selengkapnya tentang bahasa dan pengidentifikasi terkait, lihat Konstanta dan String Pengidentifikasi Bahasa.
Catatan
Tidak ada jaminan bahwa semua kunci registri bahasa ini akan ada pada komputer tertentu. Pemecah kata untuk bahasa tertentu mungkin atau mungkin tidak diinstal di komputer tergantung pada pengaturan pengguna.
Dimulai di Windows 8.1, cara yang disukai untuk menggunakan wordbreakers adalah melalui kelas WinRT API WordsSegmenter.
Sumber Daya Tambahan
- Untuk informasi tentang cara menerapkan dan menggunakan pemecah kata kustom dan stemmer untuk bahasa dan lokal tambahan, lihat Memperluas Sumber Daya Bahasa di Windows Search.
- Jika Anda perlu mengidentifikasi bahasa teks, Anda dapat menggunakan Deteksi Otomatis Bahasa (LAD), yang tersedia di Windows 7 dan yang lebih baru. Untuk informasi selengkapnya, lihat Extended Linguistic Services (ELS).
- Untuk informasi tentang mengelola, mengkueri, dan memperluas indeks, lihat Panduan Pengembang Windows Search.
Topik terkait