Static Site Search for Astro
Saya menambahkan fitur pencarian ke tiga situs direktori AI bulan lalu.
Saya membandingkan empat opsi utama sebelum memilih Pagefind. Berikut adalah alasan mengapa saya memilihnya.
The Contenders
• Pagefind: Sebuah pustaka berbasis Rust. Ia berjalan selama waktu build dan menyajikan semuanya sebagai file statis. • Algolia DocSearch: Sebuah layanan terkelola. Layanan ini cepat dan apik, tetapi berbayar untuk situs komersial. • Lunr.js: Sebuah pustaka sisi klien. Ia bekerja secara offline tetapi membuat pemuatan halaman awal menjadi berat. • FlexSearch: Alternatif yang lebih cepat dari Lunr, tetapi tetap mengharuskan pengiriman seluruh indeks ke browser.
Why I chose Pagefind
Index Size Situs saya memiliki 1.000 entri. Indeks Lunr akan menambah 4MB pada setiap pemuatan halaman. Pagefind menggunakan shard. Ia memuat potongan-potongan kecil saat pengguna mengetik. Pemuatan awal tetap di bawah 30KB.
Cost Algolia memakan biaya $49 per bulan untuk situs komersial. Total anggaran saya untuk ketiga situs tersebut adalah $25 per bulan. Pagefind gratis.
Deployment Pagefind membuat file statis. Cloudflare Pages secara otomatis menyimpan cache ini di edge. Anda tidak perlu mengelola kunci API atau mengkhawatirkan rate limits.
The Trade-offs
Pagefind tidak sempurna. Anda perlu mengetahui dua celah ini:
• No Query Logging: Pagefind berjalan di browser. Ia tidak memberi tahu Anda apa yang dicari pengguna. Algolia melakukan ini secara otomatis. Anda harus membangun lapisan pencatatan sendiri untuk Pagefind. • Basic Typo Tolerance: Pagefind menggunakan stemming dasar. Ia kesulitan menangani typo yang besar. Algolia menangani typo jauh lebih baik.
Comparison Summary
• Pagefind: Gratis, menggunakan file statis, berskala baik dengan lazy loading, toleransi typo dasar. • Algolia: $49/bulan, menggunakan infrastruktur cloud, berskala baik, toleransi typo yang kuat. • Lunr.js: Gratis, mengirimkan indeks bersama halaman, skalabilitas buruk, toleransi typo lemah.
My Verdict
Jika Anda menjalankan situs statis dengan anggaran kecil dengan 500 hingga 1.000 entri, gunakan Pagefind. Jika Anda membutuhkan analitik tingkat lanjut dan toleransi typo yang sempurna, bayarlah untuk Algolia.
