Seringkali pada website harus ada fitur pencarian agar pengguna atau bahkan kita sebagai Admin mencari konten yang akan dicari. Tapi fitur pencarian di MySQL yakni “LIKE” tidak bekerja optimal. Karena Fungsi “LIKE” hanya bisa menghasilkan jika sesuatu mengandung sebuah kata-kata yang hampir mendekati, misal:
Saya mempunyai record : “Ungu – Kuingin selamanya”
Jika kita menggunakan fungsi “LIKE” maka teks untuk dicari minimal urutan katanya mirip dengan record. Misal, Record saya diatas akan muncul apabila pengguna mengetikkan kata-kata berikut :
Ungu – Kuingin
Ungu
Kuingin Selamanya
Tetapi, Tidak akan muncul apabila yang di ketikkan seperti berikut :
Ungu kuingin selamanya
Kuingin slamanya
Untuk menyiasati hal tersebut, dengan asumsi orang akan mengetikkan sebuah kata yang salah pengetikkan seperti berikut “Ku ingin Slamanya” Dimana dalam record kata kuingin tanpa spasi. Dan kata selamanya menggunakan huruf e dan bukannya Slamanya. Untuk itu Kita lebih baik menggunakan fitur FULL TEXT INDEX pada MySQL.
Caranya masuk ke PHPMyAdmin, Pilih tabel yang akan di gunakan sebagai record yag dicari, lalu tambahkan Index FULL TEXT pada tabel yang dijadikan pilihan. Setelah itu gunakan Command berikut untuk penggunaannya :
SELECT * FROM `tabel` WHERE MATCH ( lagu) AGAINST ( 'Ungu kuingin slamanya' )
Dengan begitu walaupun kata pencarian tidak berurutan seperti di record, tetap akan muncul dengan cara diatas.
Agar jelas berikut perbandingan hasil pencarian
Record : Ungu – Kuingin Selamanya
Keyword | LIKE | FULL TEXT |
Ungu - Kuingin | Muncul | Muncul |
Ungu Kuingin Slamanya | Tidak Muncul | Muncul |
Kuingin Slamanya | Tidak muncul | Muncul |
Slamanya | Tidak Muncul | Muncul |
Ku Ingin Selamanya | Tidak Muncul | Muncul |
Demikian Penjelasan tentang Optimasi pencarian pada database MySQL.
Mohon di koreksi bila ada kesalahan, soalnya saya bukan seseorang yang sudah master tentang hal diatas.
terima kasih atas infonya..sangat membantu ^_^