Pencarian Cerdas dengan MySQL FULL TEXT INDEX
April 22, 2008
Saat ini, hampir semua aplikasi berbasis data memerlukan fitur pencarian data. Hampir semua developer menggunakan klausa SQL LIKE %frasa pencarian% dalam implementasinya. Klausa ini digunakan karena selain menjadi standar ANSI SQL dan didukung oleh semua DBMS, juga mudah dipakai. Namun demikian, klausa ini memiliki banyak kelemahan. Salah satunya adalah fleksibilitas. Katakanlah saya memiliki baris data yang memiliki kata-kata:
/Band Rock/Bon Jovi/Midnight in Chelsea
Dengan klausa LIKE, saya hanya bisa mencari dengan kata pencari: Bon Jovi, atau Band Rock, atau Midnight in Chelsea. Kalau saya mencari dengan “Rock Bon Jovi”, baris ini dianggap tidak cocok dengan kata pencarian. Klausa LIKE hanya bisa mencari kata-kata yang satu frase. Dengan demikian, sebenarnya cara ini kurang sesuai jika diaplikasikan pada mesin pencari.
Terima kasih kepada MySQL. Database yang sangat populer ini memiliki fitur yang bernama FULL TEXT INDEX. Fitur ini adalah sebuah index database yang berisi teks. Analoginya persis dengan index buku. Dengan fitur ini, kita bisa membuat mesin pencari sederhana yang mencari berdasarkan index yang disimpan di kolom yang telah di-index dengan FULL TEXT INDEX. Anda dapat mengaktifkan INDEX ini di PHPMyAdmin dengan mencentang check box Full Text Index. Atau jika dengan command line, seperti ini:
ALTER TABLE tabel ADD FULLTEXT( kolom )
Dengan fitur ini, kita bisa melakukan pencarian dengan query seperti ini:
SELECT * FROM tabel WHERE MATCH(kolom) AGAINTS (’rock bon jovi’)
Statement ini akan mencari pada kolom1 yang telah diindex dengan kata pencarian “rock bon jovi”. Baris pada contoh di atas jelas akan dimasukkan pada hasil pencarian.
Cara ini jauh lebih cerdas daripada cara pencarian dengan menggunakan klausa LIKE yang lebih banyak tidak cocoknya daripada cocoknya. Hehehe…
Bahan Bacaan Lebih Lanjut:
Posted in 












April 22nd, 2008 at 4:40 pm
wah masih suka utak-atik yang teknis2 begitu ya cak?
:mrgreen:
April 22nd, 2008 at 6:21 pm
aku ndak mudeng.. yg saya tau ya si mbah gugel.. mbah gugel sama mai esqiel bedanya apa ya?
*gaptek mode on*
April 22nd, 2008 at 8:31 pm
oooh…. gitu yah?
*masih bingung*
April 23rd, 2008 at 12:53 am
sudah berbulan-bulan belajar mysql.
masih bingung.
April 23rd, 2008 at 7:28 am
#det:
wha lha iya, lhawong sumber penghidupannya dari sini je
#all:
mohon maaf kalau kurang jelas, ini lebih sebagai catatan pribadi saya daripada sebuah tutorial. tutorial yang lebih detail akan saya turunkan setelah ini. oke
April 25th, 2008 at 11:28 am
Hehe, nice tips. Saya meskipun sering pake MySQL, tapi males ngulik-ngulik