Astro साठी स्टॅटिक साईट सर्च
गेल्या महिन्यात मी तीन AI डिरेक्टरी साईट्समध्ये सर्च फिचर जोडले.
Pagefind निवडण्यापूर्वी मी चार मुख्य पर्यायांची तुलना केली. मी ते का निवडले याची ही काही कारणे.
स्पर्धक (The Contenders)
• Pagefind: एक Rust-आधारित लायब्ररी. हे बिल्ड टाइम दरम्यान चालते आणि सर्व काही स्टॅटिक फाइल्स म्हणून सर्व्ह करते. • Algolia DocSearch: एक होस्टेड सर्व्हिस. हे वेगवान आणि पॉलिश आहे, परंतु व्यावसायिक साईट्ससाठी यासाठी पैसे मोजावे लागतात. • Lunr.js: एक क्लायंट-साइड लायब्ररी. हे ऑफलाइन काम करते परंतु यामुळे तुमच्या पेजचा सुरुवातीचा लोड वाढतो. • FlexSearch: Lunr ला एक वेगवान पर्याय, परंतु तरीही यासाठी संपूर्ण इंडेक्स ब्राउझरला पाठवावा लागतो.
मी Pagefind का निवडले
१. इंडेक्सचा आकार (Index Size)
माझ्या साईट्समध्ये १,००० एन्ट्रीज आहेत. Lunr इंडेक्समुळे प्रत्येक पेज लोडमध्ये ४MB वाढ होईल. Pagefind 'shards' वापरते. युजर टाईप करत असताना ते लहान तुकडे (chunks) लोड करते. त्यामुळे सुरुवातीचा लोड ३०KB पेक्षा कमी राहतो.
२. खर्च (Cost)
व्यावसायिक साईट्ससाठी Algolia चा खर्च दरमहा $४९ आहे. माझ्या तिन्ही साईट्ससाठी एकूण बजेट दरमहा $२५ आहे. Pagefind मोफत आहे.
३. डिप्लॉयमेंट (Deployment)
Pagefind स्टॅटिक फाइल्स तयार करते. Cloudflare Pages या फाइल्स आपोआप 'edge' वर कॅश (cache) करते. तुम्हाला API की मॅनेज करण्याची किंवा रेट लिमिट्सची काळजी करण्याची गरज नाही.
तडजोडी (The Trade-offs)
Pagefind परिपूर्ण नाही. तुम्हाला या दोन त्रुटी माहित असणे आवश्यक आहे:
• No Query Logging: Pagefind ब्राउझरमध्ये चालते. युजर्स काय शोधत आहेत हे ते तुम्हाला सांगत नाही. Algolia हे काम आपोआप करते. Pagefind साठी तुम्हाला स्वतःचे लॉगिंग लेअर तयार करावे लागेल. • Basic Typo Tolerance: Pagefind मूलभूत 'stemming' वापरते. मोठ्या स्पेलिंग चुकांमध्ये (typos) ते अडखळते. Algolia स्पेलिंग चुका अधिक चांगल्या प्रकारे हाताळते.
तुलनात्मक सारांश (Comparison Summary)
• Pagefind: मोफत, स्टॅटिक फाइल्स वापरते, lazy loading सह उत्तम स्केल होते, मूलभूत typo tolerance. • Algolia: $४९/महिना, क्लाउड इन्फ्रास्ट्रक्चर वापरते, उत्तम स्केल होते, मजबूत typo tolerance. • Lunr.js: मोफत, पेजसोबत इंडेक्स पाठवते, खराब स्केलिंग, कमकुवत typo tolerance.
माझा निर्णय (My Verdict)
जर तुम्ही ५०० ते १,००० एन्ट्रीज असलेल्या स्टॅटिक साईटसाठी कमी बजेटमध्ये काम करत असाल, तर Pagefind वापरा. जर तुम्हाला प्रगत ॲनालिटिक्स आणि अचूक typo tolerance हवे असेल, तर Algolia साठी पैसे द्या.
