Mengonfigurasi dan mengelola kata henti dan daftar berhenti untuk Pencarian Full-Text

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Untuk mencegah indeks teks lengkap menjadi membengkak, Mesin Database SQL Server memiliki mekanisme yang membuang string yang umum terjadi yang tidak membantu pencarian. String yang dibuang ini disebut stopwords. Selama pembuatan indeks, Mesin Teks-Penuh menghilangkan kata henti dari indeks teks lengkap. Artinya, kueri teks lengkap tidak menelusuri kata berhenti.

Istilah Description
Kata umum Sebuah "stopword" adalah kata yang memiliki makna dalam bahasa tertentu. Misalnya, dalam bahasa Inggris, kata-kata seperti a, and, is, dan the ditinggalkan dari indeks teks lengkap karena diketahui tidak berguna untuk pencarian. Kata henti juga dapat berupa token yang tidak memiliki makna linguistik.
Daftar henti Kata henti dikelola dalam basis data melalui objek yang disebut daftar henti. Daftar stoplist adalah daftar stopword yang, ketika dikaitkan dengan indeks teks lengkap, diterapkan pada kueri teks penuh di indeks tersebut.

Gunakan stoplist yang sudah ada

Anda dapat menggunakan daftar henti yang sudah ada dengan cara berikut:

  • Gunakan daftar henti yang disediakan sistem dalam database. Database Engine disertakan dengan daftar kata henti sistem yang berisi kata-kata henti yang paling umum digunakan untuk setiap bahasa yang didukung, yaitu untuk setiap bahasa yang secara bawaan dikaitkan dengan pemecah kata tertentu. Anda dapat menyalin daftar henti sistem dan menyesuaikan salinan Anda dengan menambahkan dan menghapus stopword.

    Daftar berhenti sistem diinstal di Database Sumber Daya.

  • Gunakan daftar berhenti kustom yang ada dari database lain di instans server saat ini, lalu tambahkan atau hapus kata henti sebagaimana mestinya.

Membuat daftar henti baru

Anda dapat membuat daftar berhenti dengan menggunakan Transact-SQL (T-SQL) atau SQL Server Management Studio (SSMS).

Membuat daftar henti baru dengan Transact-SQL

Gunakan CREATE FULLTEXT STOPLIST.

Membuat daftar berhenti baru dengan SQL Server Management Studio

  1. Di Object Explorer, perluas server.

  2. Perluas Database, lalu perluas database tempat Anda ingin membuat daftar henti teks penuh.

  3. Perluas Penyimpanan, lalu klik kanan Daftar Stop Teks Lengkap.

  4. Pilih Daftar Henti Teks Lengkap Baru.

  5. Masukkan nama stoplist baru Anda.

  6. Secara opsional, tentukan orang lain sebagai pemilik daftar berhenti.

  7. Pilih salah satu opsi berikut untuk membuat daftar pengecualian:

    • Membuat daftar stop kosong

    • Membuat dari daftar henti sistem

    • Buat dari stoplist teks lengkap yang sudah ada

    Untuk informasi selengkapnya, lihat Daftar Henti Teks Lengkap Baru (Halaman Umum).

  8. 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.

Tugas Metode
Buat indeks teks lengkap dan kaitkan dengan daftar berhenti Gunakan CREATE FULLTEXT INDEX.
Mengasosiasikan atau memisahkan daftar penghentian dengan indeks teks lengkap yang ada Gunakan ALTER FULLTEXT INDEX.

Mengubah stopword dalam daftar berhenti

Anda dapat memodifikasi kata henti dalam daftar berhenti dengan menggunakan Transact-SQL (T-SQL) atau SQL Server Management Studio (SSMS).

Menambahkan atau menghilangkan stopword dari daftar henti dengan Transact-SQL

Gunakan ALTER FULLTEXT STOPLIST.

Tambahkan atau hapus kata henti dari daftar kata henti dengan SQL Server Management Studio

  1. Di Object Explorer, perluas server.

  2. Perluas Database, lalu perluas database.

  3. Perluas Penyimpanan, lalu pilih Stoplist Teks Lengkap.

  4. Klik kanan daftar henti yang propertinya ingin Anda ubah, dan pilih Properti.

  5. Dalam kotak dialog Properti Daftar Henti Teks Lengkap:

    1. Dalam kotak daftar Action, pilih salah satu tindakan berikut: Tambahkan stopword, Hapus stopword, Hapus semua stopword, atau Hapus stoplist.

    2. Jika kotak teks Stopword diaktifkan untuk tindakan yang dipilih, masukkan satu stopword. Kata henti ini harus unik. Itu tidak boleh sudah tercantum dalam daftar blokir untuk bahasa yang dipilih.

    3. Jika kotak Daftar bahasa teks lengkap diaktifkan untuk tindakan yang dipilih, pilih bahasa.

  6. Pilih OK.

Mengelola stoplist dan penggunaannya

Gunakan metode berikut untuk melihat dan mengelola daftar hentian.

Tugas Metode
Menampilkan semua kata penghenti dalam daftar henti Gunakan sys.fulltext_stopwords.
Dapatkan informasi mengenai semua stoplist dalam database saat ini Gunakan sys.fulltext_stoplists dan sys.fulltext_stopwords.
Lihat hasil tokenisasi dari kombinasi pemecah kata, tesaurus, dan daftar henti Gunakan sys.dm_fts_parser.
Menyembunyikan pesan kesalahan jika stopwords menyebabkan operasi Boolean pada kueri teks lengkap gagal Gunakan konfigurasi server: ubah kata-kata kebisingan.

Informasi selengkapnya tentang posisi stopword

Meskipun indeks teks penuh mengabaikan keberadaan kata henti, indeks tersebut tetap mempertimbangkan posisinya. Misalnya, pertimbangkan frasa, Instructions are applicable to these Adventure Works Cycles models. Tabel berikut ini menggambarkan posisi kata-kata dalam frasa:

Word Posisi
Instructions 1
are 2
applicable 3
to 4
these 5
Adventure 6
Works 7
Cycles 8
models 9

Kata henti are, to, dan these yang berada di posisi 2, 4, dan 5 ditinggalkan 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) diganti dengan kata henti. Ketika database ditingkatkan dari SQL Server 2005 (9.x), file noise-word tidak lagi digunakan. Namun, file kata kebisingan disimpan dalam FTDATA\FTNoiseThesaurusBak folder, dan Anda dapat menggunakannya nanti saat Anda memperbarui atau membuat daftar berhenti yang sesuai. Untuk informasi tentang memutakhirkan file noise-word menjadi daftar kata henti, lihat Memutakhirkan Pencarian Teks Lengkap.