Pencarian teks-lengkap
Berlaku untuk: SQL ServerAzure SQL Database Azure SQL Managed Instance
Pencarian teks lengkap di SQL Server dan Microsoft Azure SQL Database memungkinkan pengguna dan aplikasi menjalankan kueri teks lengkap terhadap data berbasis karakter dalam tabel SQL Server.
Tugas dasar
Artikel ini menyediakan gambaran umum Pencarian Teks Lengkap dan menjelaskan komponen dan arsitekturnya. Jika Anda lebih suka segera memulai, berikut adalah tugas dasarnya.
- Mulai dengan Pencarian Teks Lengkap
- Membuat dan Mengelola Katalog Teks Lengkap
- Membuat dan mengelola indeks teks lengkap
- Mengisi Indeks Teks Lengkap
- Kueri dengan Pencarian Teks Lengkap
Pencarian Teks Lengkap adalah komponen opsional dari Mesin Database SQL Server. Jika Anda tidak memilih Pencarian Teks Lengkap saat menginstal SQL Server, jalankan Penyetelan SQL Server lagi untuk menambahkannya.
Gambaran Umum
Indeks teks lengkap menyertakan satu atau beberapa kolom berbasis karakter dalam tabel. Kolom ini dapat memiliki salah satu jenis data berikut: char, varchar, nchar, nvarchar, text, ntext, image, xml, atau varbinary(max) dan FILESTREAM. Setiap indeks teks lengkap mengindeks satu atau beberapa kolom dari tabel, dan setiap kolom dapat menggunakan bahasa tertentu.
Kueri teks lengkap melakukan pencarian linguistik terhadap data teks dalam indeks teks lengkap, dengan mengoperasikan kata dan frasa berdasarkan aturan bahasa tertentu, seperti bahasa Inggris atau Jepang. Kueri teks lengkap dapat menyertakan kata dan frasa sederhana atau beberapa bentuk kata atau frasa. Kueri teks lengkap mengembalikan dokumen apa pun yang berisi setidaknya satu kecocokan (juga dikenal sebagai hit). Kecocokan terjadi ketika dokumen target berisi semua istilah yang ditentukan dalam kueri teks lengkap, dan memenuhi kondisi pencarian lainnya, seperti jarak antara istilah yang cocok.
Kueri Pencarian Teks Lengkap
Setelah kolom ditambahkan ke indeks teks lengkap, pengguna dan aplikasi dapat menjalankan kueri teks lengkap pada teks di kolom. Kueri ini dapat mencari salah satu kondisi berikut:
- Satu atau beberapa kata atau frasa tertentu (istilah sederhana)
- Kata atau frasa di mana kata dimulai dengan teks tertentu (istilah awalan)
- Bentuk infleksi dari kata tertentu (istilah pembuatan)
- Kata atau frasa yang dekat dengan kata atau frasa lain (istilah kedekatan)
- Bentuk sinonim dari kata tertentu (tesaurus)
- Kata atau frasa menggunakan nilai tertimbang (istilah tertimbang)
Kueri teks lengkap tidak peka huruf besar/kecil. Misalnya, mencari Aluminum
atau aluminum
mengembalikan hasil yang sama.
Kueri teks lengkap menggunakan sekumpulan kecil predikat Transact-SQL (CONTAINS
dan FREETEXT
) dan fungsi (CONTAINSTABLE
dan FREETEXTTABLE
). Namun, tujuan pencarian dari skenario bisnis tertentu memengaruhi struktur kueri teks lengkap. Contohnya:
Mencari produk di situs web E-niaga:
SELECT product_id FROM products WHERE CONTAINS (product_description, '"Snap Happy 100EZ" OR FORMSOF(THESAURUS,"Snap Happy") OR "100EZ"') AND product_cost < 200;
Pencarian skenario perekrutan untuk kandidat pekerjaan yang memiliki pengalaman bekerja dengan SQL Server:
SELECT candidate_name, SSN FROM candidates WHERE CONTAINS (candidate_resume, '"SQL Server"') AND candidate_division = 'DBA';
Untuk informasi selengkapnya, lihat Kueri dengan Pencarian Teks Lengkap.
Membandingkan kueri Pencarian Teks Lengkap dengan predikat LIKE
Berbeda dengan pencarian teks lengkap, predikat LIKE Transact-SQL hanya berfungsi pada pola karakter. Selain itu LIKE
, Anda tidak dapat menggunakan predikat untuk mengkueri data biner yang diformat. Selain itu, LIKE
kueri terhadap sejumlah besar data teks yang tidak terstruktur jauh lebih lambat daripada kueri teks lengkap yang setara terhadap data yang sama. Kueri LIKE
terhadap jutaan baris data teks dapat memakan waktu beberapa menit untuk dikembalikan; sedangkan kueri teks lengkap hanya dapat memakan waktu beberapa detik atau kurang terhadap data yang sama, tergantung pada jumlah baris yang dikembalikan.
Arsitektur Pencarian Teks Lengkap
Arsitektur pencarian teks lengkap terdiri dari proses berikut:
Proses SQL Server (
sqlservr.exe
).Proses host daemon filter (
fdhost.exe
).Untuk alasan keamanan, filter dimuat oleh proses terpisah yang disebut host daemon filter. Proses
fdhost.exe
dibuat oleh layanan peluncur FDHOST (MSSQLFDLauncher
), dan berjalan di bawah kredensial keamanan akun layanan peluncur FDHOST. Oleh karena itu, layanan peluncur FDHOST harus berjalan agar pengindeksan teks lengkap dan kueri teks lengkap berfungsi. Untuk informasi tentang mengatur akun layanan untuk layanan ini, lihat Mengatur Akun Layanan untuk Peluncur Daemon Filter Teks Lengkap.
Kedua proses ini berisi komponen arsitektur pencarian teks lengkap. Komponen-komponen ini dan hubungannya dirangkum dalam ilustrasi berikut. Komponen dijelaskan setelah ilustrasi.
Proses SQL Server
Proses SQL Server menggunakan komponen berikut untuk pencarian teks lengkap:
Komponen | Deskripsi |
---|---|
Tabel pengguna | Tabel ini berisi data yang akan diindeks teks lengkap. |
Pengumpul teks lengkap | Pengumpul teks lengkap berfungsi dengan utas perayapan teks lengkap. Ini bertanggung jawab untuk menjadwalkan dan mendorong populasi indeks teks lengkap, dan juga untuk memantau katalog teks lengkap. |
File thesaurus | File-file ini berisi sinonim istilah pencarian. Untuk informasi selengkapnya, lihat Mengonfigurasi dan Mengelola File Tesaurus untuk Pencarian Teks Lengkap. |
Objek daftar henti | Objek stoplist berisi daftar kata umum yang tidak berguna untuk pencarian. Untuk informasi selengkapnya, lihat Mengonfigurasi dan Mengelola Stopwords dan Stoplists untuk Pencarian Teks Lengkap. |
Prosesor kueri SQL Server | Prosesor kueri mengkompilasi dan menjalankan kueri SQL. Jika kueri SQL menyertakan kueri pencarian teks lengkap, kueri dikirim ke Mesin Teks Lengkap, baik selama kompilasi maupun selama eksekusi. Hasil kueri dicocokkan dengan indeks teks lengkap. |
Mesin Teks Lengkap | Mesin Teks Lengkap di SQL Server sepenuhnya terintegrasi dengan prosesor kueri. Mesin Teks Lengkap mengkompilasi dan menjalankan kueri teks lengkap. Sebagai bagian dari eksekusi kueri, Mesin Teks-Penuh mungkin menerima input dari thesaurus dan daftar henti. |
Penulis indeks (pengindeks) | Penulis indeks membangun struktur yang digunakan untuk menyimpan token terindeks. |
Memfilter manajer daemon | Manajer daemon filter bertanggung jawab untuk memantau status host daemon filter Mesin Teks Lengkap. |
Memfilter proses Host Daemon
Host daemon filter adalah proses yang dimulai oleh Mesin Teks Lengkap. Ini menjalankan komponen pencarian teks lengkap berikut, yang bertanggung jawab untuk mengakses, memfilter, dan memecah kata data dari tabel, serta untuk pemecahan kata dan membendung input kueri.
Komponen host daemon filter adalah sebagai berikut:
Komponen | Deskripsi |
---|---|
Penangan protokol | Komponen ini menarik data dari memori untuk pemrosesan lebih lanjut dan mengakses data dari tabel pengguna dalam database tertentu. Salah satu tanggung jawabnya adalah mengumpulkan data dari kolom yang diindeks teks lengkap dan meneruskannya ke host daemon filter, yang menerapkan pemfilteran dan pemecah kata sesuai kebutuhan. |
Filter | Beberapa jenis data memerlukan pemfilteran sebelum data dalam dokumen dapat diindeks teks lengkap, termasuk data dalam kolom varbinary, varbinary(max), gambar, atau xml . Filter yang digunakan untuk dokumen tertentu bergantung pada jenis dokumennya. Misalnya, filter yang berbeda digunakan untuk dokumen Microsoft Word (.doc ), dokumen Microsoft Excel (.xls ), dan dokumen XML (.xml ). Kemudian filter mengekstrak potongan teks dari dokumen, menghapus pemformatan yang disematkan dan mempertahankan teks dan, berpotensi, informasi tentang posisi teks. Hasilnya adalah aliran informasi tekstual. Untuk informasi selengkapnya, lihat Mengonfigurasi dan Mengelola Filter untuk Pencarian. |
Pemecah kata dan stemmer | Pemecah kata adalah komponen khusus bahasa yang menemukan batas kata berdasarkan aturan leksikal bahasa tertentu (pemecahan kata). Setiap pemecah kata dikaitkan dengan komponen stemmer khusus bahasa yang mengkonjugasikan kata kerja dan melakukan ekspansi infleksi. Pada waktu pengindeksan, host daemon filter menggunakan pemecah kata dan stemmer untuk melakukan analisis linguistik pada data tekstual dari kolom tabel tertentu. Bahasa yang terkait dengan kolom tabel dalam indeks teks lengkap menentukan pemecah kata dan stemmer mana yang digunakan untuk mengindeks kolom. Untuk informasi selengkapnya, lihat Mengonfigurasi & mengelola pemecah kata & stemmer untuk pencarian (SQL Server). |
SQL Server 2012 (11.x) menginstal versi baru pemecah kata dan stemmer untuk bahasa Inggris AS (LCID 1033) dan Inggris Inggris (LCID 2057). Namun Anda dapat beralih ke versi sebelumnya dari komponen-komponen ini jika Anda ingin mempertahankan perilaku sebelumnya. Untuk informasi selengkapnya, lihat Mengubah Pemecah Kata yang Digunakan untuk Bahasa Inggris AS dan Inggris Inggris.
Pemrosesan Pencarian Teks Lengkap
Pencarian teks lengkap didukung oleh Mesin Teks Lengkap. Mesin Teks Lengkap memiliki dua peran: dukungan pengindeksan dan dukungan kueri.
Proses pengindeksan Teks Penuh
Ketika populasi teks lengkap (juga dikenal sebagai perayapan) dimulai, Mesin Teks-Penuh mendorong batch data besar ke dalam memori dan memberi tahu host daemon filter. Host memfilter dan memecah kata data dan mengonversi data yang dikonversi menjadi daftar kata terbalik. Pencarian teks lengkap kemudian menarik data yang dikonversi dari daftar kata, memproses data untuk menghapus stopword, dan mempertahankan daftar kata untuk batch menjadi satu atau beberapa indeks terbalik.
Saat mengindeks data yang disimpan dalam kolom varbinary(max) atau gambar , filter, yang mengimplementasikan IFilter
antarmuka, mengekstrak teks berdasarkan format file yang ditentukan untuk data tersebut (misalnya, Microsoft Word). Dalam beberapa kasus, komponen filter memerlukan varbinary(maks), atau data gambar ditulis ke filterdata
folder, alih-alih didorong ke memori.
Sebagai bagian dari pemrosesan, data teks yang dikumpulkan diteruskan melalui pemecah kata untuk memisahkan teks menjadi token individual, atau kata kunci. Bahasa yang digunakan untuk tokenisasi ditentukan pada tingkat kolom, atau dapat diidentifikasi dalam data varbinary(max), gambar, atau xml oleh komponen filter.
Pemrosesan tambahan mungkin dilakukan untuk menghapus stopword, dan untuk menormalkan token sebelum disimpan dalam indeks teks lengkap atau fragmen indeks.
Ketika populasi selesai, proses penggabungan akhir dipicu yang menggabungkan fragmen indeks bersama-sama menjadi satu indeks teks lengkap master. Ini menghasilkan peningkatan performa kueri karena hanya indeks master yang perlu dikueri daripada beberapa fragmen indeks, dan statistik penilaian yang lebih baik dapat digunakan untuk peringkat relevansi.
Proses kueri Teks Lengkap
Prosesor kueri meneruskan bagian teks lengkap kueri ke Mesin Teks Lengkap untuk diproses. Mesin Teks-Penuh melakukan pemecahan kata dan, secara opsional, ekspansi tesaurus, stemming, dan stopword (kata kebisingan) pemrosesan. Kemudian bagian teks lengkap kueri diwakili dalam bentuk operator SQL, terutama sebagai fungsi bernilai tabel streaming (STVF). Selama eksekusi kueri, STVF ini mengakses indeks terbalik untuk mengambil hasil yang benar. Hasilnya dikembalikan ke klien pada saat ini, atau mereka diproses lebih lanjut sebelum dikembalikan ke klien.
Arsitektur indeks teks lengkap
Informasi dalam indeks teks lengkap digunakan oleh Mesin Teks Lengkap untuk mengkompilasi kueri teks lengkap yang dapat dengan cepat mencari tabel untuk kata atau kombinasi kata tertentu. Indeks teks lengkap menyimpan informasi tentang kata-kata penting dan lokasinya dalam satu atau beberapa kolom tabel database. Indeks teks lengkap adalah jenis khusus indeks fungsi berbasis token yang dibangun dan dikelola oleh Mesin Teks-Penuh untuk SQL Server. Proses membangun indeks teks lengkap berbeda dari membangun jenis indeks lainnya. Alih-alih membuat struktur pohon B berdasarkan nilai yang disimpan dalam baris tertentu, Mesin Teks-Penuh membangun struktur indeks terbalik, ditumpuk, dan dikompresi berdasarkan token individual dari teks yang diindeks. Ukuran indeks teks lengkap hanya dibatasi oleh sumber daya memori komputer yang tersedia tempat instans SQL Server berjalan.
Dimulai di SQL Server 2008 (10.0.x), indeks teks lengkap terintegrasi dengan Mesin Database, alih-alih berada di sistem file seperti pada versi SQL Server sebelumnya. Untuk database baru, katalog teks lengkap sekarang menjadi objek virtual yang bukan milik grup file apa pun; ini hanyalah konsep logis yang mengacu pada sekelompok indeks teks lengkap. Namun, perhatikan bahwa selama peningkatan database SQL Server 2005 (9.x), katalog teks lengkap apa pun yang berisi file data, grup file baru dibuat; untuk informasi selengkapnya, lihat Meningkatkan Pencarian Teks Lengkap.
Hanya satu indeks teks lengkap yang diperbolehkan per tabel. Agar indeks teks lengkap dibuat pada tabel, tabel harus memiliki satu kolom non-null yang unik. Anda dapat membuat indeks teks lengkap pada kolom tipe karakter, varchar, nchar, nvarchar, teks, ntext, gambar, xml, varbinary, dan varbinary(maks) dapat diindeks untuk pencarian teks lengkap. Membuat indeks teks lengkap pada kolom yang tipe datanya adalah varbinary, varbinary(max), image, atau xml mengharuskan Anda menentukan kolom jenis. Kolom jenis adalah kolom tabel tempat Anda menyimpan ekstensi file (.doc
, , .pdf
.xls
, dan sebagainya) dokumen di setiap baris.
Struktur indeks teks lengkap
Pemahaman yang baik tentang struktur indeks teks lengkap membantu Anda memahami cara kerja Mesin Teks Lengkap. Artikel ini menggunakan kutipan Document
tabel berikut dalam AdventureWorks2022
sebagai tabel contoh. Kutipan ini hanya memperlihatkan dua kolom, DocumentID
kolom dan Title
kolom, dan tiga baris dari tabel.
Untuk contoh ini, kami berasumsi bahwa indeks teks lengkap telah dibuat pada Title
kolom .
DocumentID | Judul |
---|---|
1 |
Crank Arm and Tire Maintenance |
2 |
Front Reflector Bracket and Reflector Assembly 3 |
3 |
Front Reflector Bracket Installation |
Misalnya, tabel berikut, yang memperlihatkan Fragmen 1, menggambarkan konten indeks teks lengkap yang dibuat pada Title
kolom Document
tabel. Indeks teks-penuh berisi lebih banyak informasi daripada yang disajikan dalam tabel ini. Tabel adalah representasi logis dari indeks teks lengkap dan disediakan hanya untuk tujuan demonstrasi. Baris disimpan dalam format terkompresi untuk mengoptimalkan penggunaan disk.
Data dibalik dari dokumen asli. Inversi terjadi karena kata kunci dipetakan ke ID dokumen. Untuk alasan ini, indeks teks lengkap sering disebut sebagai indeks terbalik.
Perhatikan juga bahwa kata kunci and
dihapus dari indeks teks lengkap. Ini dilakukan karena and
adalah stopword, dan menghapus stopword dari indeks teks lengkap dapat menyebabkan penghematan besar dalam ruang disk, yang meningkatkan performa kueri. Untuk informasi selengkapnya tentang stopwords, lihat Mengonfigurasi dan Mengelola Stopwords dan Stoplists untuk Pencarian Teks Lengkap.
Fragmen 1
Kata kunci | ColId | DocId | Kemunculan |
---|---|---|---|
Crank |
1 | 1 | 1 |
Arm |
1 | 1 | 2 |
Tire |
1 | 1 | 4 |
Maintenance |
1 | 1 | 5 |
Front |
1 | 2 | 1 |
Front |
1 | 3 | 1 |
Reflector |
1 | 2 | 2 |
Reflector |
1 | 2 | 5 |
Reflector |
1 | 3 | 2 |
Bracket |
1 | 2 | 3 |
Bracket |
1 | 3 | 3 |
Assembly |
1 | 2 | 6 |
3 |
1 | 2 | 7 |
Installation |
1 | 3 | 4 |
Kolom Keyword
berisi representasi token tunggal yang diekstrak pada waktu pengindeksan. Pemecah kata menentukan apa yang membentuk token.
Kolom ColId
berisi nilai yang sesuai dengan kolom tertentu yang diindeks teks lengkap.
Kolom DocId
berisi nilai untuk bilangan bulat 8-byte yang memetakan ke nilai kunci teks lengkap tertentu dalam tabel terindeks teks lengkap. Pemetaan ini diperlukan ketika kunci teks lengkap bukan jenis data bilangan bulat. Dalam kasus seperti itu, pemetaan antara nilai kunci teks lengkap dan DocId
nilai dipertahankan dalam tabel terpisah yang DocId Mapping
disebut tabel. Untuk mengkueri pemetaan ini, gunakan prosedur tersimpan sistem sp_fulltext_keymappings . Untuk memenuhi kondisi pencarian, DocId
nilai dari tabel sebelumnya perlu digabungkan dengan DocId
tabel pemetaan untuk mengambil baris dari tabel dasar yang sedang dikueri. Jika nilai kunci teks lengkap dari tabel dasar adalah jenis bilangan bulat, nilai langsung berfungsi sebagai DocId
dan tidak ada pemetaan yang diperlukan. Oleh karena itu, menggunakan nilai kunci teks lengkap bilangan bulat dapat membantu mengoptimalkan kueri teks lengkap.
Kolom Occurrence
berisi nilai bilangan bulat. Untuk setiap nilai DocId, ada daftar nilai kemunculan yang sesuai dengan offset kata relatif dari kata kunci tertentu dalam DocId tersebut. Nilai kemunculan berguna dalam menentukan frasa atau kecocokan kedekatan, misalnya, frasa memiliki nilai kemunculan numerik yang berdekatan. Mereka juga berguna dalam menghitung skor relevansi; misalnya, jumlah kemunculan kata kunci dalam DocId mungkin digunakan dalam penilaian.
Fragmen indeks teks penuh
Indeks teks lengkap logis biasanya dibagi di beberapa tabel internal. Setiap tabel internal disebut fragmen indeks teks lengkap. Beberapa fragmen ini mungkin berisi data yang lebih baru daripada yang lain. Misalnya, jika pengguna memperbarui baris berikut yang DocId-nya adalah 3 dan tabel dilacak perubahan otomatis, fragmen baru dibuat.
DocumentID | Judul |
---|---|
3 |
Rear Reflector |
Dalam contoh berikut, yang menunjukkan Fragmen 2, fragmen berisi data yang lebih baru tentang DocId 3 dibandingkan dengan Fragmen 1. Oleh karena itu, ketika pengguna meminta Rear Reflector
data dari Fragmen 2 digunakan untuk DocId 3. Setiap fragmen ditandai dengan tanda waktu pembuatan yang dapat dikueri dengan menggunakan tampilan katalog sys.fulltext_index_fragments .
Fragmen 2
Kata kunci | ColId | DocId | Occ |
---|---|---|---|
Rear |
1 | 3 | 1 |
Reflector |
1 | 3 | 2 |
Seperti yang dapat dilihat dari Fragmen 2, kueri teks lengkap perlu mengkueri setiap fragmen secara internal dan membuang entri yang lebih lama. Oleh karena itu, terlalu banyak fragmen indeks teks lengkap dalam indeks teks lengkap dapat menyebabkan penurunan substansial dalam performa kueri. Untuk mengurangi jumlah fragmen, reorganisasi katalog teks lengkap dengan menggunakan REORGANIZE
opsi pernyataan ALTER FULLTEXT CATALOGTransact-SQL. Pernyataan ini melakukan penggabungan master, yang menggabungkan fragmen ke dalam satu fragmen yang lebih besar dan menghapus semua entri usang dari indeks teks lengkap.
Setelah diatur ulang, indeks contoh akan berisi baris berikut:
Kata kunci | ColId | DocId | Occ |
---|---|---|---|
Crank |
1 | 1 | 1 |
Arm |
1 | 1 | 2 |
Tire |
1 | 1 | 4 |
Maintenance |
1 | 1 | 5 |
Front |
1 | 2 | 1 |
Rear |
1 | 3 | 1 |
Reflector |
1 | 2 | 2 |
Reflector |
1 | 2 | 5 |
Reflector |
1 | 3 | 2 |
Bracket |
1 | 2 | 3 |
Assembly |
1 | 2 | 6 |
3 |
1 | 2 | 7 |
Perbedaan antara indeks teks lengkap dan indeks SQL Server reguler
Indeks teks lengkap | Indeks SQL Server reguler |
---|---|
Hanya satu indeks teks lengkap yang diizinkan per tabel. | Beberapa indeks reguler diizinkan per tabel. |
Penambahan data ke indeks teks lengkap, yang disebut populasi, dapat diminta melalui jadwal atau permintaan tertentu, atau dapat terjadi secara otomatis dengan penambahan data baru. | Diperbarui secara otomatis saat data yang berbasisnya disisipkan, diperbarui, atau dihapus. |
Dikelompokkan dalam database yang sama ke dalam satu atau beberapa katalog teks lengkap. | Tidak dikelompokkan. |
Komponen linguistik pencarian Teks Lengkap dan dukungan bahasa
Pencarian teks lengkap mendukung hampir 50 bahasa yang beragam, seperti Inggris, Spanyol, Cina, Jepang, Arab, Bangla, dan Hindi. Untuk daftar lengkap bahasa teks lengkap yang didukung, lihat sys.fulltext_languages. Setiap kolom yang terkandung dalam indeks teks lengkap dikaitkan dengan pengidentifikasi lokal Microsoft Windows (LCID) yang sama dengan bahasa yang didukung oleh pencarian teks lengkap. Misalnya, LCID 1033 sama dengan bahasa Inggris AS, dan LCID 2057 sama dengan Inggris Inggris. Untuk setiap bahasa teks lengkap yang didukung, SQL Server menyediakan komponen linguistik yang mendukung pengindeksan dan kueri data teks lengkap yang disimpan dalam bahasa tersebut.
Komponen khusus bahasa mencakup item berikut:
Komponen | Deskripsi |
---|---|
Pemecah kata dan stemmer | Pemecah kata menemukan batas kata berdasarkan aturan leksikal bahasa tertentu (pemecah kata). Setiap pemecah kata dikaitkan dengan stemmer yang mengkonjugasikan kata kerja untuk bahasa yang sama. Untuk informasi selengkapnya, lihat Mengonfigurasi & mengelola pemecah kata & stemmer untuk pencarian (SQL Server). |
Daftar henti | Daftar henti sistem disediakan, yang berisi sekumpulan stopword dasar (juga dikenal sebagai kata-kata kebisingan). Stopword adalah kata yang tidak membantu pencarian dan diabaikan oleh kueri teks lengkap. Misalnya, untuk kata-kata lokal bahasa Inggris seperti a , , and is , dan the dianggap stopwords. Biasanya, Anda perlu mengonfigurasi satu atau beberapa file thesaurus dan daftar henti. Untuk informasi selengkapnya, lihat Mengonfigurasi dan Mengelola Stopwords dan Stoplists untuk Pencarian Teks Lengkap. |
File thesaurus | SQL Server juga menginstal file thesaurus untuk setiap bahasa teks lengkap, dan file thesaurus global. File tesaurus yang diinstal kosong, tetapi Anda dapat mengeditnya untuk menentukan sinonim untuk bahasa atau skenario bisnis tertentu. Dengan mengembangkan tesaurus yang disesuaikan dengan data teks lengkap, Anda dapat secara efektif memperluas cakupan kueri teks lengkap pada data tersebut. Untuk informasi selengkapnya, lihat Mengonfigurasi dan Mengelola File Tesaurus untuk Pencarian Teks Lengkap. |
Filter (iFilter) | Mengindeks dokumen dalam kolom tipe data varbinary(maks), gambar, atau xml memerlukan filter untuk melakukan pemrosesan ekstra. Filter harus spesifik untuk jenis dokumen (.doc , , .pdf , .xls .xml , dan sebagainya). Untuk informasi selengkapnya, lihat Mengonfigurasi dan Mengelola Filter untuk Pencarian. |
Pemecah kata (dan stemmer) dan filter berjalan dalam proses host daemon filter (fdhost.exe
).