LIKE ‘%kata%’ tidak memakai index dan makin lambat seiring data bertambah. Full-text search MySQL menyelesaikan pencarian teks panjang dengan index terbalik. Section ini menguji tiga mode pencarian dan aturan bahasa Indonesia di dalamnya.
Mengapa LIKE '%kata%' memaksa pemindaian seluruh tabel dan bagaimana FULLTEXT index bertipe index terbalik menggantinya: pemetaan istilah ke baris, konsep skor relevansi, tabel keputusan kapan memakai full-text search, serta panjang kata minimum innodb_ft_min_token_size.
Buka → # Membuat Full-Text IndexTiga cara membuat FULLTEXT index — langsung di CREATE TABLE, CREATE FULLTEXT INDEX setelah data dimuat, dan ALTER TABLE — memverifikasinya lewat SHOW INDEX, galat ERROR 1191 saat MATCH tanpa index atau daftar kolom yang tidak cocok, serta perbedaan InnoDB dan MyISAM dalam perawatan index.
Buka → # Natural Language SearchMode pencarian bawaan MATCH...AGAINST: hasil terurut relevansi, baris berskor 0 tidak ditampilkan, skor relevansi desimal yang nyata, pencarian multi kata yang menjumlahkan kontribusi tiap kata, serta stopword yang diam-diam diabaikan.
Buka → # Boolean SearchKendali presisi dengan IN BOOLEAN MODE: operator + wajib, - larang, * truncation pencarian prefiks, frasa persis dalam kutip dua, pengelompokan kurung, penyesuaian bobot, tabel operator lengkap, dan kenyataan bahwa skor relevansi tetap dihitung.
Buka → # Query ExpansionPerluas hasil pencarian full-text secara otomatis dengan WITH QUERY EXPANSION: mekanisme dua fase yang mengambil istilah terkait dari hasil awal, contoh nyata hasil yang meluas, serta risiko relevansi yang menurun.
Buka → # Batasan Full-Text SearchRangkuman batasan full-text search MySQL: stopword bawaan, panjang kata minimum, dukungan bahasa non-Latin dan parser ngram, perbedaan dengan exact match, biaya index, serta indikasi kapan beralih ke mesin pencarian khusus.
Buka →