Mengonfigurasi dan Mengelola Stopwords dan Stoplist untuk Pencarian Teks Lengkap
Berlaku untuk: SQL ServerAzure SQL Database
Untuk mencegah indeks teks penuh menjadi kembung, SQL Server memiliki mekanisme yang membuang string yang umumnya terjadi yang tidak membantu pencarian. String yang dibuang ini disebut stopwords. Selama pembuatan indeks, Mesin Teks-Penuh menghilangkan kata henti dari indeks teks lengkap. Ini berarti bahwa kueri teks lengkap tidak akan mencari pada stopword.
Stopwords. Stopword bisa menjadi kata dengan arti dalam bahasa tertentu. Misalnya, dalam bahasa Inggris, kata-kata seperti "a," "dan," "is," dan "the" dibiarkan keluar dari indeks teks lengkap karena mereka diketahui tidak berguna untuk pencarian. Stopword juga bisa menjadi token yang tidak memiliki arti linguistik.
Daftar henti. Stopwords dikelola dalam database menggunakan objek yang disebut daftar berhenti. Daftar henti adalah daftar stopword yang, ketika dikaitkan dengan indeks teks lengkap, diterapkan ke kueri teks-penuh pada indeks tersebut.
Gunakan daftar henti yang sudah ada
Anda dapat menggunakan daftar henti yang ada dengan cara berikut:
Gunakan daftar henti yang disediakan sistem dalam database. SQL Server dikirim dengan daftar henti sistem yang berisi stopword yang paling umum digunakan untuk setiap bahasa yang didukung, yaitu untuk setiap bahasa yang terkait dengan pemecah kata tertentu secara default. Anda dapat menyalin daftar henti sistem dan menyesuaikan salinan Anda dengan menambahkan dan menghapus stopword.
Daftar henti sistem diinstal di database Sumber Daya .
Gunakan daftar henti kustom yang ada dari database lain di instans server saat ini, lalu tambahkan atau hilangkan stopword yang sesuai.
Membuat daftar henti baru
Membuat daftar henti baru dengan Transact-SQL
Gunakan CREATE FULLTEXT STOPLIST.
Membuat daftar henti baru dengan Management Studio
Di Object Explorer, perluas server.
Perluas Database, lalu perluas database tempat Anda ingin membuat daftar henti teks lengkap.
Perluas Penyimpanan, lalu klik kanan Daftar Henti Teks Lengkap.
Pilih Daftar Henti Teks Lengkap Baru.
Masukkan nama stoplist baru Anda.
Secara opsional, tentukan orang lain sebagai pemilik daftar berhenti.
Pilih salah satu opsi daftar henti buat berikut:
Membuat daftar henti kosong
Membuat dari daftar henti sistem
Membuat dari daftar henti teks lengkap yang sudah ada
Untuk informasi selengkapnya, lihat Daftar Henti Teks Lengkap Baru (Halaman Umum).
Pilih OK.
Menggunakan daftar henti dalam kueri teks lengkap
Untuk menggunakan daftar henti dalam kueri, Anda harus mengaitkannya dengan indeks teks lengkap. Anda dapat melampirkan daftar henti ke indeks teks lengkap saat membuat indeks, atau Anda dapat mengubah indeks nanti untuk menambahkan daftar henti.
Membuat indeks teks lengkap dan mengaitkan daftar henti dengannya
Gunakan CREATE FULLTEXT INDEX (Transact-SQL).
Mengaitkan atau memisahkan daftar henti dengan indeks teks lengkap yang ada
Gunakan ALTER FULLTEXT INDEX (Transact-SQL).
Mengubah stopword dalam daftar berhenti
Menambahkan atau menghilangkan stopword dari daftar henti dengan Transact-SQL
Gunakan ALTER FULLTEXT STOPLIST (Transact-SQL).
Menambahkan atau menghilangkan stopword dari daftar henti dengan Management Studio
Di Object Explorer, perluas server.
Perluas Database, lalu perluas database.
Perluas Penyimpanan, lalu pilih Daftar Henti Teks Lengkap.
Klik kanan daftar henti yang propertinya ingin Anda ubah, dan pilih Properti.
Dalam kotak dialog Properti Daftar Henti Teks Lengkap:
Dalam kotak Daftar tindakan, pilih salah satu tindakan berikut: Tambahkan stopword, Hapus stopword, Hapus semua stopword, atau Hapus daftar hentikan.
Jika kotak teks Stopword diaktifkan untuk tindakan yang dipilih, masukkan satu stopword. Stopword ini harus unik; artinya, belum dalam daftar henti ini untuk bahasa yang Anda pilih.
Jika kotak Daftar bahasa teks lengkap diaktifkan untuk tindakan yang dipilih, pilih bahasa.
Pilih OK.
Mengelola stoplist dan penggunaannya
Menampilkan semua stopword dalam daftar henti
Gunakan sys.fulltext_stopwords (Transact-SQL).
Mendapatkan info tentang semua daftar henti dalam database saat ini
Gunakan sys.fulltext_stoplists (Transact-SQL) dan sys.fulltext_stopwords (Transact-SQL).
Menampilkan hasil tokenisasi pemecah kata, thesaurus, dan kombinasi daftar henti
Gunakan sys.dm_fts_parser (Transact-SQL).
Menyembunyikan pesan kesalahan jika stopwords menyebabkan operasi Boolean pada kueri teks lengkap gagal
Gunakan opsi Konfigurasi Server kata bising transformasi.
Info selengkapnya tentang posisi stopword
Meskipun mengabaikan penyertaan stopword, indeks teks lengkap memang memperhitungkan posisi mereka. Misalnya, pertimbangkan frasa, "Instruksi berlaku untuk model Adventure Works Cycles ini". Tabel berikut ini menggambarkan posisi kata-kata dalam frasa:
Word | Position |
---|---|
Petunjuk | 1 |
are | 2 |
berlaku | 3 |
ke | 4 |
Ini | 5 |
Petualangan | 6 |
Pekerjaan | 7 |
Siklus | 8 |
model | 9 |
Kata berhenti "adalah", "ke", dan "ini" yang berada di posisi 2, 4, dan 5 dibiarkan keluar dari indeks teks lengkap. Namun, informasi posisi mereka dipertahankan, sehingga meninggalkan posisi kata-kata lain dalam frasa tidak terpengaruh.
Meningkatkan kata-kata kebisingan dari SQL Server 2005
Kata-kata kebisingan SQL Server 2005 (9.x) telah digantikan oleh kata henti. Ketika database ditingkatkan dari SQL Server 2005 (9.x), file noise-word tidak lagi digunakan. Namun, file noise-word disimpan di folder FTDATA\ FTNoiseThesaurusBak, dan Anda dapat menggunakannya nanti saat memperbarui atau membangun daftar berhenti yang sesuai. Untuk informasi tentang memutakhirkan file noise-word ke daftar henti, lihat Meningkatkan Pencarian Teks Lengkap.