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
Azure SQL Database
Pemecah kata dan stemmer melakukan analisis linguistik pada semua data teks terindeks penuh. Analisis linguistik melakukan dua hal berikut:
Temukan batas kata (pemecahan kata). Pemecah kata mengidentifikasi kata-kata individual dengan menentukan di mana batas kata ada berdasarkan aturan leksikal bahasa. Setiap kata (juga dikenal sebagai token) disisipkan ke dalam indeks teks lengkap menggunakan representasi terkompresi untuk mengurangi ukurannya.
Kata kerja konjugasi (stemming). Stemmer menghasilkan bentuk infleksi dari sebuah kata tertentu berdasarkan aturan bahasa tersebut (misalnya, "berlari", "berlari-lari", dan "pelari" adalah berbagai bentuk dari kata "lari").
Pemecah kata dan stemmer khusus untuk bahasa tertentu
Pemecah kata dan stemmer bersifat khusus untuk setiap bahasa, dan aturan untuk analisis linguistik berbeda-beda tergantung pada bahasanya. Pemecah kata khusus bahasa membuat istilah yang dihasilkan lebih akurat untuk bahasa tersebut.
Untuk menggunakan pemecah kata dan stemmer yang disediakan untuk semua bahasa yang didukung oleh SQL Server, Anda pada umumnya tidak perlu melakukan tindakan apa pun.
Jika ada pemenggal kata untuk keluarga bahasa, tetapi tidak untuk sub-bahasa tertentu, bahasa induk digunakan. Misalnya, pemecah kata Prancis digunakan untuk menangani teks yang merupakan bahasa Prancis Kanada.
Jika tidak ada pemecah kata yang tersedia untuk bahasa tertentu, pemecah kata netral digunakan. Dengan pemecah kata netral, kata-kata dipecah pada karakter netral seperti spasi dan tanda baca.
Mendapatkan daftar bahasa yang didukung
Untuk melihat daftar bahasa yang didukung oleh SQL Server Full-Text Search, gunakan pernyataan Transact-SQL berikut. Kehadiran bahasa dalam daftar ini menunjukkan bahwa pemecah kata terdaftar untuk bahasa tersebut.
SELECT *
FROM sys.fulltext_languages;
Mendapatkan daftar pemecah kata terdaftar
Agar Pencarian Teks Lengkap dapat menggunakan pemecah kata untuk suatu bahasa, pemecah kata tersebut harus didaftarkan. Untuk pemecah kata terdaftar, sumber daya linguistik terkait - stemmer, kata henti (stopword), dan file tesaurus - juga tersedia untuk digunakan dalam operasi pengindeksan dan pencarian teks lengkap.
Untuk melihat daftar komponen pemecah kata terdaftar, gunakan pernyataan berikut.
EXECUTE sp_help_fulltext_system_components 'wordbreaker';
GO
Untuk informasi selengkapnya, lihat sp_help_fulltext_system_components.
Jika Anda menambahkan atau menghapus pemecah kata
Jika Anda menambahkan, menghapus, atau mengubah pemecah kata, Anda perlu menyegarkan daftar pengidentifikasi lokal Microsoft Windows (LCID) yang didukung untuk pengindeksan dan kueri teks lengkap. Untuk informasi selengkapnya, lihat Menampilkan atau mengubah filter terdaftar dan pemecah kata.
Mengatur opsi bahasa teks utuh standar
Untuk versi SQL Server yang dilokalkan, Penyiapan SQL Server mengatur opsi bahasa teks lengkap default ke bahasa server jika ada kecocokan yang sesuai. Untuk versi SQL Server yang tidak dilokalkan, opsi bahasa teks lengkap default adalah bahasa Inggris.
Saat membuat atau mengubah indeks teks lengkap, Anda dapat menentukan bahasa yang berbeda untuk setiap kolom terindeks teks lengkap. Jika tidak ada bahasa yang ditentukan untuk kolom, defaultnya merupakan opsi bahasa teks lengkap default.
Catatan
Semua kolom yang tercantum dalam satu klausul fungsi kueri teks lengkap harus menggunakan bahasa yang sama, kecuali opsi LANGUAGE ditentukan dalam kueri. Bahasa yang digunakan untuk kolom terindeks teks lengkap yang sedang dikueri menentukan analisis linguistik yang dilakukan pada argumen predikat kueri teks lengkap (CONTAINS dan FREETEXT) dan fungsi (CONTAINSTABLE dan FREETEXTTABLE).
Pilih bahasa untuk kolom terindeks
Saat membuat indeks teks lengkap, kami sarankan Anda menentukan bahasa untuk setiap kolom terindeks. Jika bahasa tidak ditentukan untuk kolom, bahasa default sistem akan digunakan. Bahasa kolom menentukan pemecah kata dan stemmer mana yang digunakan untuk mengindeks kolom tersebut. Selain itu, file thesaurus bahasa tersebut dipakai dalam kueri teks lengkap pada kolom.
Ada beberapa hal yang perlu dipertimbangkan saat memilih bahasa kolom untuk membuat indeks teks lengkap. Pertimbangan ini berkaitan dengan bagaimana teks Anda ditokenisasi lalu diindeks oleh Mesin Teks Lengkap. Untuk informasi selengkapnya, lihat Memilih Bahasa Saat Membuat Indeks Teks Lengkap.
Untuk menampilkan bahasa pemecah kata dari kolom tertentu, jalankan pernyataan berikut.
SELECT language_id AS 'LCID'
FROM sys.fulltext_index_columns;
Untuk informasi selengkapnya, lihat sys.fulltext_index_columns.
Memecahkan masalah kesalahan batas waktu pada pemisahan kata
Kesalahan batas waktu pemecahan kata dapat terjadi dalam berbagai situasi. Untuk informasi tentang situasi ini dan cara merespons dalam setiap situasi, lihat MSSQLSERVER_30053.
Info tentang kesalahan MSSQLSERVER_30053
| Kekayaan | Nilai |
|---|---|
| Nama Produk | SQL Server |
| ID Peristiwa | 30053 |
| Sumber Kejadian | MSSQLSERVER |
| Komponen | SQLEngine |
| Nama Simbolis | FTXT_QUERY_E_WORDBREAKINGTIMEOUT |
| Teks Pesan | Waktu pemrosesan kata habis untuk kueri teks lengkap. Ini dapat terjadi jika pemecah kata membutuhkan waktu lama untuk memproses string kueri teks lengkap, atau jika sejumlah besar kueri berjalan di server. Coba jalankan kueri lagi di bawah beban yang lebih ringan. |
Penjelasan
Kesalahan batas waktu pemecahan kata dapat terjadi dalam situasi-situasi berikut ini:
Pemecah kata untuk bahasa kueri dikonfigurasi dengan salah; misalnya, pengaturan registrinya salah.
Kerusakan pemecah kata untuk string kueri tertentu.
Pemisah kata mengembalikan terlalu banyak data untuk string kueri tertentu. Kelebihan data diperlakukan sebagai potensi serangan buffer overrun, dan mematikan proses daemon filter (fdhost.exe), yang menghosting layanan pemecah kata.
Konfigurasi proses daemon filter tidak benar.
Masalah konfigurasi yang paling umum adalah kedaluwarsa kata sandi atau kebijakan domain yang mencegah akun daemon filter masuk.
Beban kerja kueri yang sangat berat berjalan pada instans server; misalnya, pemecah kata membutuhkan waktu lama untuk memproses string kueri teks lengkap, atau sejumlah besar kueri berjalan di server. Ini adalah penyebab paling tidak mungkin.
Tindakan pengguna
Pilih tindakan pengguna yang sesuai dengan kemungkinan penyebab waktu habis, sebagai berikut:
| Kemungkinan penyebab | Tindakan pengguna |
|---|---|
| Pemecah kata untuk bahasa kueri dikonfigurasi dengan tidak benar. | Jika Anda menggunakan pemecah kata pihak ketiga, itu mungkin salah terdaftar dengan sistem operasi. Dalam hal ini, daftarkan ulang pemecah kata. Untuk informasi selengkapnya, lihat Mengembalikan pemecah kata yang digunakan oleh Pencarian ke versi sebelumnya (Pencarian SQL Server). |
| Kerusakan pemecah kata untuk string kueri tertentu. | Jika pemecah kata didukung oleh SQL Server, hubungi Layanan dan Dukungan Pelanggan Microsoft. |
| Pemisah kata mengembalikan terlalu banyak data untuk string kueri tertentu. | Jika pemecah kata didukung oleh SQL Server, hubungi Layanan dan Dukungan Pelanggan Microsoft. |
| Konfigurasi proses daemon filter tidak benar. | Pastikan Anda menggunakan kata sandi saat ini dan bahwa kebijakan domain tidak mencegah akun daemon filter masuk. |
| Beban kerja kueri yang sangat berat sedang dijalankan pada instans server. | Coba jalankan kueri lagi di bawah beban yang lebih ringan. |
Memahami dampak pemecah kata yang diperbarui
Setiap versi SQL Server biasanya mencakup pemutus kata baru yang memiliki aturan linguistik yang lebih baik dan lebih akurat daripada pemecah kata sebelumnya. Berpotensi, pemecah kata baru mungkin bertingkah berbeda dari pemecah kata dalam indeks teks lengkap yang diimpor dari versi SQL Server sebelumnya.
Ini signifikan jika katalog teks lengkap diimpor ketika database ditingkatkan ke versi SQL Server saat ini. Satu atau beberapa bahasa yang digunakan oleh indeks teks lengkap dalam katalog teks lengkap sekarang mungkin dikaitkan dengan pemecah kata baru. Untuk informasi selengkapnya, lihat Tingkatkan Pencarian Teks Lengkap.