Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Kueri Pencarian SQL Server Full-Text dapat mencari sinonim istilah yang ditentukan oleh pengguna dengan menggunakan Pencarian tesaurus Full-Text. Setiap thesaurus mendefinisikan sekumpulan sinonim untuk bahasa tertentu. Dengan mengembangkan tesaurus yang disesuaikan dengan data teks lengkap, Anda dapat secara efektif memperluas cakupan kueri teks lengkap pada data tersebut.
Pencocokan tesaurus terjadi untuk semua kueri FREETEXT dan FREETEXTTABLE dan untuk kueri CONTAINS dan CONTAINSTABLE apa pun yang menentukan FORMSOF THESAURUS
klausa.
Tesaurus Pencarian Teks Lengkap adalah file teks XML.
Apa yang ada di dalam thesaurus
Sebelum kueri pencarian teks lengkap dapat mencari sinonim dalam bahasa tertentu, Anda harus menentukan pemetaan tesaurus (yaitu, sinonim) untuk bahasa tersebut. Setiap thesaurus harus dikonfigurasi secara manual untuk menentukan pengaturan berikut:
Set ekspansi
Set ekspansi berisi sekelompok sinonim seperti "penulis", "pengarang", dan "jurnalis" yang dapat digunakan secara bergantian dalam kueri teks lengkap. Kueri yang berisi kecocokan untuk sinonim apa pun dalam set ekspansi diperluas untuk menyertakan setiap sinonim lainnya dalam set ekspansi.
Untuk informasi selengkapnya, lihat Struktur XML dari Kumpulan Ekspansi nanti di artikel ini.
Paket pengganti
Set pengganti berisi pola teks yang akan digantikan oleh set substitusi. Misalnya, lihat bagian Struktur XML dari Set Pengganti nanti di artikel ini.
Pengaturan diakritik
Untuk tesaurus tertentu, semua pola pencarian sensitif atau tidak peka terhadap tanda diakritik seperti tilde (~), tanda aksen akut ('), atau umlaut ( ̈) (yaitu, aksen sensitif atau aksen tidak sensitif). Misalnya, Anda menentukan pola "kafe" untuk digantikan oleh pola lain dalam kueri teks lengkap. Jika tesaurus tidak peka aksen, pencarian teks lengkap menggantikan pola "kafe" dan "kafe". Jika tesaurus peka aksen, pencarian teks lengkap hanya menggantikan pola "kafe". Secara default, tesaurus tidak peka aksen.
File default thesaurus
SQL Server menyediakan sekumpulan file thesaurus XML, satu untuk setiap bahasa yang didukung. File-file ini pada dasarnya kosong. Mereka hanya berisi struktur XML tingkat atas yang umum untuk semua tesaurus SQL Server dan tesaurus sampel yang dikomentari.
Lokasi file thesaurus
Lokasi default file thesaurus adalah:
<SQL_Server_data_files_path>\MSSQL13.MSSQLSERVER\MSSQL\FTDATA\
Lokasi default ini berisi file berikut:
File-file tesaurus khusus bahasa
Penyetelan menginstal file thesaurus kosong di lokasi sebelumnya. File terpisah disediakan untuk setiap bahasa yang didukung. Administrator sistem dapat menyesuaikan file-file ini.
Nama file default untuk file thesaurus mengikuti format berikut:
'ts' + <three-letter language-abbreviation> + '.xml'
Nama file thesaurus untuk bahasa tertentu ditentukan dalam registri dalam nilai berikut:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<instance-name>\MSSearch\<language-abbrev>
File thesaurus global
File tsGlobal.xml adalah thesaurus global kosong.
Mengubah lokasi file thesaurus
Anda dapat mengubah lokasi dan nama file thesaurus dengan mengubah kunci registrinya. Untuk setiap bahasa, lokasi file thesaurus ditentukan dalam nilai berikut dalam registri:
HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\<instance name>\MSSearch\Language\<language-abbreviation>\TsaurusFile
File thesaurus global sesuai dengan bahasa Netral dengan LCID 0. Nilai ini hanya dapat diubah oleh administrator.
Cara kueri teks lengkap menggunakan tesaurus
Kueri thesaurus menggunakan thesaurus khusus bahasa dan thesaurus global.
Pertama, kueri mencari file khusus bahasa dan memuatnya untuk diproses (kecuali sudah dimuat). Kueri diperluas untuk menyertakan sinonim khusus bahasa yang ditentukan oleh set ekspansi dan aturan set penggantian dalam file tesaurus.
Langkah-langkah ini kemudian diulang untuk tesaurus global. Namun, jika istilah sudah menjadi bagian dari kecocokan dalam file thesaurus spesifik bahasa, istilah tersebut tidak memenuhi syarat untuk pencocokan dalam thesaurus global.
Struktur file thesaurus
Setiap file thesaurus mendefinisikan kontainer XML yang ID-nya adalah Microsoft Search Thesaurus
, dan komentar, <!--
... -->
, yang berisi sampel thesaurus. Tesaurus didefinisikan dalam elemen <thesaurus>
yang berisi sampel elemen anak yang menentukan pengaturan tanda diakritik, set ekspansi, dan set pengganti.
File thesaurus kosong yang khas berisi teks XML berikut:
<XML ID="Microsoft Search Thesaurus">
<!-- Commented out
<thesaurus xmlns="x-schema:tsSchema.xml">
<diacritics_sensitive>0</diacritics_sensitive>
<expansion>
<sub>Internet Explorer</sub>
<sub>IE</sub>
<sub>IE5</sub>
</expansion>
<replacement>
<pat>NT5</pat>
<pat>W2K</pat>
<sub>Windows 2012</sub>
</replacement>
<expansion>
<sub>run</sub>
<sub>jog</sub>
</expansion>
</thesaurus>
-->
</XML>
Struktur XML dari set perluasan
Setiap set ekspansi diapit oleh elemen <expansion>
. Dalam elemen ini, Anda menentukan satu atau beberapa substitusi dalam elemen <sub>
. Dalam set ekspansi, Anda dapat menentukan sekelompok substitusi yang merupakan sinonim satu sama lain.
Misalnya, Anda dapat mengedit bagian ekspansi untuk memperlakukan pengganti "penulis", "pengarang", dan "jurnalis" sebagai sinonim. Kueri pencarian teks lengkap yang berisi kecocokan dalam satu substitusi diperluas untuk menyertakan semua substitusi lain yang ditentukan dalam set ekspansi. Oleh karena itu, dalam contoh sebelumnya, ketika Anda mengeluarkan FORMS OF THESAURUS atau kueri FREETEXT untuk kata "penulis", pencarian teks lengkap juga mengembalikan hasil pencarian yang berisi kata "penulis" dan "jurnalis".
Inilah tampilan bagian set ekspansi untuk contoh sebelumnya:
<expansion>
<sub>writer</sub>
<sub>author</sub>
<sub>journalist</sub>
</expansion>
Struktur XML dari kumpulan pengganti
Setiap kelompok pengganti diapit dalam elemen <replacement>
. Dalam elemen ini, Anda dapat menentukan satu atau beberapa pola dalam <pat>
elemen dan nol atau lebih substitusi dalam <sub>
elemen, satu per sinonim. Anda dapat menentukan pola yang akan digantikan oleh set substitusi. Pola dan substitusi dapat berisi kata, atau urutan kata. Jika tidak ada penggantian yang ditentukan untuk pola, itu memiliki efek menghapus pola dari kueri pengguna.
Misalnya, jika Anda ingin kueri untuk "Win8", yang merupakan pola, digantikan oleh "Windows Server 2012" atau "Windows 8.0", sebagai penggantinya. Jika Anda menjalankan kueri teks lengkap untuk "Win8", pencarian teks lengkap hanya mengembalikan hasil pencarian yang berisi "Windows Server 2012" atau "Windows 8.0". Ini tidak mengembalikan hasil yang mengandung "Win8". Ini karena pola "Win8" "diganti" oleh pola "Windows Server 2012" dan "Windows 8.0".
Inilah tampilan bagian set pengganti untuk contoh sebelumnya:
<replacement>
<pat>Win8</pat>
<sub>Windows Server 2012</sub>
<sub>Windows 8.0</sub>
</replacement>
Jika Anda memiliki dua set pengganti yang cocok dengan pola serupa, set yang lebih panjang diutamakan. Misalnya, jika Anda menjalankan kueri FORMS OF THESAURUS untuk "komunitas online Internet Explorer" dan Anda memiliki set pengganti berikut, set penggantian "Internet Explorer" lebih diutamakan daripada set penggantian "Internet". Oleh karena itu, kueri diproses sebagai "komunitas online IE" atau "komunitas online IE 9".
<replacement>
<pat>Internet</pat>
<sub>intranet</sub>
</replacement>
dan
<replacement>
<pat>Internet Explorer</pat>
<sub>IE</sub>
<sub>IE 9</sub>
</replacement>
Struktur XML pengaturan diakritik
Pengaturan diakritik tesaurus ditentukan dalam satu <diacritics_sensitive>
elemen. Elemen ini berisi nilai bilangan bulat yang mengontrol sensitivitas aksen, sebagai berikut:
Pengaturan Diakritik | Nilai | XML |
---|---|---|
Tidak peka terhadap aksen | 0 | <diacritics_sensitive>0</diacritics_sensitive> |
Sensitif terhadap aksen | 1 | <diacritics_sensitive>1</diacritics_sensitive> |
Catatan
Pengaturan ini hanya dapat diterapkan satu kali dalam file, dan berlaku untuk semua pola pencarian dalam file. Pengaturan ini tidak dapat ditentukan untuk pola individual.
Mengedit thesaurus
Anda dapat mengonfigurasi thesaurus untuk bahasa tertentu dengan mengedit file thesaurus-nya (file XML). Diinstal selama penyiapan, file tesaurus kosong yang hanya berisi kontainer <xml>
dan elemen contoh <thesaurus
> yang dikomentari. Agar kueri pencarian teks lengkap yang mencari sinonim berfungsi dengan baik, Anda harus membuat elemen aktual <thesaurus
> yang menentukan sekumpulan sinonim. Anda dapat menentukan dua bentuk sinonim, set ekspansi, dan set penggantian.
Mengedit file thesaurus
Buka file thesaurus di Notepad atau editor teks lainnya.
Jika Anda mengedit file tesaurus untuk pertama kalinya, hapus baris komentar berikut di awal dan akhir file, masing-masing:
<!--Commented out -->
Menambahkan, memodifikasi, atau menghapus set pengganti atau set ekspansi.
Simpan file dan tutup Notepad.
Gunakan sp_fulltext_load_thesaurus_file untuk memuat konten file thesaurus ke dalam
tempdb
, menentukan pengidentifikasi lokal (LCID) yang sesuai dengan bahasa file thesaurus. Misalnya, untuk file tesaurus bahasa Inggris, tsenu.xml, LCID yang sesuai adalah 1033.USE AdventureWorks; EXECUTE sys.sp_fulltext_load_thesaurus_file 1033; GO
Rekomendasi untuk mengedit file thesaurus
Kami menyarankan agar entri dalam file thesaurus tidak berisi karakter khusus. Ini karena pemecah kata memiliki perilaku halus sehubungan dengan karakter khusus. Jika entri tesaurus berisi karakter khusus, pemecah kata yang digunakan dalam kombinasi dengan entri tersebut dapat memiliki implikasi perilaku yang halus untuk kueri teks lengkap.
Kami menyarankan agar <sub>
entri tidak berisi kata henti karena kata-kata henti dihilangkan dari indeks teks lengkap. Kueri diperluas untuk menyertakan <sub>
entri dari file tesaurus, dan jika <sub>
entri berisi kata hentian, ukuran kueri bertambah tanpa perlu.
Pembatasan untuk mengedit file thesaurus
Pembatasan berikut berlaku untuk mengedit file thesaurus:
Hanya administrator sistem yang dapat memperbarui, memodifikasi, atau menghapus file thesaurus.
Saat Anda mengedit file thesaurus menggunakan alat editor teks, file harus disimpan dalam format Unicode, dan Tanda Urutan Byte harus ditentukan.
Entri thesaurus tidak boleh kosong atau pemisah kata menjadi string kosong.
Frasa dalam file thesaurus tidak boleh lebih dari 512 karakter.
Thesaurus tidak boleh berisi entri duplikat di antara
<sub>
entri set ekspansi dan<pat>
elemen set pengganti.