Sistem Pencarian, semua orang pasti sudah tidak asing dengan fitur paling umum yang ada di hampir segalahal yang berkaitan dengan internet, mulai dari web, aplikasi, bahkan game sekali pun pasti ada fitur untuk mencari suatu data.
Sebagai contoh kita coba buka web atau aplikasi seperti Facebook, Instagram, X (dulu Twitter), Threads atau Media Social lainnya, setiap media social pasti punya fitur yang memungkinkan user untuk mencari account dari orang lain, dengan nama depan/belakang atau username.
Salah satu hal terpenting yang harus ditawari oleh fitur pencarian adalah effisiensi. Bayangin aja kalau Pencarian data di aplikasi kita lambat pastinya bakal ngasih ke kinerja aplikasi yang akhirnya berdampak negatif ke user experience.
Sebagai web developer pasti gamau kan kalau user kita kabur gara-gara sistem pencarian kita lemot?
Nah, disinilah peran Full-Text Search jadi penting banget. Kalau cuma pakai pencarian biasa (misalnya Like di SQL), hasilnya sering nggak akurat atau bahkan dalam kasus aplikasi dengan data yang luarbiasa banya methode ini bakal kerasa lebih lambat.
Apa Itu Full Text Search
Full-Text Search (FTS) adalah metode pencarian yang digunakan untuk menemukan teks dalam jumlah besar secara cepat dan relevan. Berbeda dengan pencarian biasa yang hanya bisa menemukan kata kunci persis sama (exact match), FTS memungkinkan sistem memahami kata, frasa, atau kombinasi teks yang relevan.
Semisal, ada pengguna yang nyari “Xiaomi Bug UI”, bila kita pakai pencarian biasa sistem cuman bisa nampilin hasil yang sama persis “Xiaomi Bug UI”, padahal seharusnya sistem juga menampilkan pencarian yang masih relevan seperti “Cara Mengatasi Xiaomi Bug System dan UI”.
Cara Kerja Full-Text Search
Full-Text Search bekerja dengan membuat index khusus yang dibuat khusus untuk mengatasi pencarian data. Prosesnya kurang lebih seperti ini:
- Tokenisasi: Memecah teks menjadi kata per kata. Misal, “Bug Pada UI Xiaomi” bakal dipisah jadi “Bug”, “pada”, “UI”, dan “Xiaomi”. Tiap kata ini akan disebut token.
- Normalisasi Text: Setelah di Tokenisasi, teks akan dinormalisasi dengan mengubahnya jadi lower-case (huruf kecil) semua, sehingga pencarian yang awalnya Case-Sensitive jadi Case-insensitive (tidak peduli mau huruf besar atau kecil).
- Stemming: Meringkas kata menjadi bentuk dasarnya, contoh dari kata “Berlari” jadi “lari”.
- Penghapusan Stopword: Mengahpus kata umum yang engga terlalu dibutuhkan dalam pencarian, seperti kata “yang”, “bahwa” dan lain-lain. Penghapusan ini dapat membantu mengurangi ukuran index supaya meningkatkan kecepatan pencarian
- Pembuatan index: Membuat Struktur data yang akan memungkinkan sistem pencarian menemukan data yang relevan dengan cepat. Semakin index ini terstruktur dengan baik, semakin efisien juga pengambilan data dalam set data yang besar.
Dengan menggunakan Full-Text Search, sistem pencarian kita bisa lebih cerdas lagi, memilih data yang relevan dengan efisien
Full-Text Search vs Like
Jika dibandingkan antara Full-text Search (FTS) dengan pencarian tradisional seperti like untuk nge-handle ratusan ribu hingga jutaan data. Pencarian biasa akan cenderung lebih lambat disbanding yang sudah mengunakana methode FTS. Dalam segi keakuratan juga pencarian standar hanya akan menampilkan data yang benar benar cocok dengan kata kunci (Exact Match) sedangkan FTS lebih fleksibel karena dapat menampilkan hasil yang relevan meski data tidak benar benar identik kata per kata.
Penutup
Full-Text Search membuat pencarian data jadi lebih cepat, relevan, dan efisien dibanding metode tradisional. Dengan menggunakannya, developer bisa menghadirkan pengalaman pengguna yang lebih baik sekaligus menjaga performa aplikasi tetap optimal meski data semakin besar.
FTS sudah banyak diterapkan di berbagai web atau aplikasi besar yang saat ini, web e-commerce seperti Tokopedia, Shopee, Lazada menggunakan prinsip serupa yang dioptimalkan supaya user bisa menemukan produk atau took yang relevan dalam hitungan detik, meski data product yang ada menyentuh angka jutaaan.
Comments (0)
No comments yet. Be the first to comment.