|
|
Diposting padaKemarin pukul 20:20
|
|
|
|

Pencarian teks lengkap adalah komponen opsional dari mesin database SQL Server. Jika Anda tidak memilih pencarian teks lengkap saat menginstal SQL Server, jalankan penginstal SQL Server lagi untuk menambahkannya.
Ikhtisar
Indeks teks lengkap mencakup 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 membuat indeks untuk satu atau beberapa kolom dalam tabel, dan setiap kolom dapat menggunakan bahasa tertentu.
Kueri teks lengkap beroperasi pada kata dan frasa sesuai dengan aturan bahasa tertentu (seperti Inggris atau Jepang), sehingga melakukan pencarian bahasa berdasarkan data teks dalam indeks teks lengkap. Kueri teks lengkap dapat mencakup kata dan frasa sederhana, atau beberapa bentuk kata atau frasa. Kueri teks lengkap mengembalikan semua dokumen yang berisi setidaknya satu kecocokan (juga dikenal sebagai "hit"). Kecocokan terjadi ketika dokumen target berisi semua istilah yang ditentukan dalam kueri teks lengkap dan cocok dengan kriteria pencarian lainnya (seperti jarak antara istilah yang cocok).
Instalasi Layanan Pencarian Teks Lengkap Linux Docker MSSQL 2022
Referensi adalah sebagai berikut:
Periksa apakah fitur pencarian teks lengkap SQL Server diinstal
Perintahnya adalah sebagai berikut:
Pencarian Teks Lengkap SQL Server, Indeks Teks Lengkap
Pertama, buat pustaka pengujian baru dan sisipkan data pengujian. Skripnya adalah sebagai berikut:
Membuat daftar isi teks lengkap
Daftar isi teks lengkap digunakan untuk menyimpan indeks teks lengkap. Anda dapat membuatnya secara langsung menggunakan skrip berikut:
Membuat indeks teks lengkap untuk tabel database
Saat membuat indeks teks lengkap untuk tabel database, Anda perlu menentukan bahasa yang sesuai. Karena segmentasi kata bervariasi di seluruh bahasa, SQL Server akan menggunakan segmentasi kata bahasa yang sesuai untuk memproses data dalam tabel. Pencarian teks lengkap SQL Server mendukung sekitar 50 bahasa yang berbeda, memungkinkan Anda melihat semua bahasa yang didukung dengan mengkueri tabel sys.fulltext_languages. Perintah:
Seperti yang ditunjukkan di bawah ini:
Selanjutnya, kami menambahkan indeks teks lengkap untuk Mandarin Sederhana ke bidang Judul dan Konten di tabel Berita:
Pencarian teks lengkap untuk predikat dan fungsi
Kueri teks lengkap menggunakan predikat teks lengkap (BERISIdanTEKS BEBAS) dan fungsi teks lengkap (BERISI STABILdanFREETEXTTABLE)。 Mereka mendukung sintaks Transact-SQL yang kompleks, yang mendukung berbagai bentuk istilah kueri.
Perbedaan antara CONTAINS dan FREETEXT
CONTAINS: Login hyperlink terlihat.
Gunakan metode pencocokan yang tepat untuk menemukan kata atau frasa tertentu dalam teks. Mendukung kondisi kueri yang kompleks, seperti pencarian kedekatan (misalnya, kata harus muncul di dekat satu sama lain), pencarian awalan, dan lainnya. Ini biasanya digunakan dalam situasi di mana kontrol yang lebih spesifik atas hasil pencarian diperlukan.
FREETEXT: Login hyperlink terlihat.
Memberikan pengalaman pencarian berbasis bahasa yang lebih fleksibel dan alami. Tidak diperlukan kriteria pencarian khusus; Ini secara otomatis mengurai teks input dan mencoba menemukan konten terkait. Ini lebih cocok untuk pengguna yang ingin melakukan pencarian kata kunci sederhana seperti Google, tanpa mengkhawatirkan lokasi atau format tertentu.
Perintahnya adalah sebagai berikut:
Seperti yang ditunjukkan di bawah ini:
CONTAINSTABLE dan FREETEXTTABLE
CONTAINSTABLE mengembalikan tabel yang memenuhi kriteria kueri. Dalam pernyataan SQL, kita dapat memperlakukannya sebagai tabel biasa, dan kueri menggunakan CONTAINSTABLE mengembalikan nilai RANK dan KEY untuk setiap baris. RANK digunakan untuk menunjukkan tingkat kecocokan korelasi, dengan nilai antara 0~1000, dan KEY adalah ID tabel utama. FREETEXTTABLE pertama-tama mengelompokkan kata dan kalimat yang akan dikueri, lalu kueri untuk pencocokan. Perintahnya adalah sebagai berikut:
Seperti yang ditunjukkan di bawah ini:
Selain itu, Anda dapat memeriksa hasil segmentasi dengan mengkueri sys.dm_fts_parser:
Seperti yang ditunjukkan di bawah ini:
masalah
Pertanyaan: CONTAINS tidak mendukung kueri fuzzy secara default. Jika Anda memasukkan CONTAINS(Column, 'apple'), itu akan cocok dengan kata dasar (misalnya, apel) tetapi tidak nanas. Solusi: Jika kueri fuzzy diperlukan, kueri tersebut harus ditempatkan sebelum dan sesudah karakter penggantiTambahkan tanda kutip ganda dan tanda bintang:CONTAINS(Kolom, '"*apple*"')
Referensi:
Login hyperlink terlihat.
Login hyperlink terlihat. |
Mantan:Situs web platform kerja, kerja, dan kerja lepas jarak jauh
|