Astro కోసం స్టాటిక్ సైట్ సెర్చ్
గత నెలలో నేను మూడు AI డైరెక్టరీ సైట్లకు సెర్చ్ ఫీచర్ను జోడించాను.
Pagefindని ఎంచుకునే ముందు నేను నాలుగు ప్రధాన ఆప్షన్లను పోల్చి చూశాను. నేను దానిని ఎందుకు ఎంచుకున్నానో ఇక్కడ ఉంది.
పోటీదారులు (The Contenders)
• Pagefind: ఇది ఒక Rust-ఆధారిత లైబ్రరీ. ఇది బిల్డ్ టైమ్ (build time) సమయంలో రన్ అవుతుంది మరియు అన్నింటినీ స్టాటిక్ ఫైల్స్గా అందిస్తుంది. • Algolia DocSearch: ఇది ఒక హోస్టెడ్ సర్వీస్. ఇది వేగంగా మరియు మెరుగ్గా ఉంటుంది కానీ కమర్షియల్ సైట్ల కోసం దీనికి ఖర్చు అవుతుంది. • Lunr.js: ఇది ఒక క్లయింట్-సైడ్ లైబ్రరీ. ఇది ఆఫ్లైన్లో పనిచేస్తుంది కానీ మీ ప్రారంభ పేజీ లోడ్ను (initial page load) భారంగా మారుస్తుంది. • FlexSearch: ఇది Lunr కి వేగవంతమైన ప్రత్యామ్నాయం, కానీ ఇది ఇంకా ఇండెక్స్ మొత్తాన్ని బ్రౌజర్కు పంపాల్సి ఉంటుంది.
నేను Pagefindని ఎందుకు ఎంచుకున్నాను
1. ఇండెక్స్ సైజ్ (Index Size)
నా సైట్లలో 1,000 ఎంట్రీలు ఉన్నాయి. Lunr ఇండెక్స్ ప్రతి పేజీ లోడ్కు 4MBని జోడిస్తుంది. Pagefind 'shards'ను ఉపయోగిస్తుంది. యూజర్ టైప్ చేస్తున్నప్పుడు ఇది చిన్న చిన్న భాగాలుగా (chunks) లోడ్ అవుతుంది. దీనివల్ల ప్రారంభ లోడ్ 30KB కంటే తక్కువగానే ఉంటుంది.
2. ఖర్చు (Cost)
కమర్షియల్ సైట్ల కోసం Algolia నెలకు $49 ఖర్చవుతుంది. మూడు సైట్ల కోసం నా మొత్తం బడ్జెట్ నెలకు $25 మాత్రమే. Pagefind ఉచితం.
3. డిప్లాయ్మెంట్ (Deployment)
Pagefind స్టాటిక్ ఫైల్స్ను సృష్టిస్తుంది. Cloudflare Pages వీటిని ఆటోమేటిక్గా ఎడ్జ్ (edge) వద్ద క్యాష్ చేస్తుంది. మీరు API కీలను నిర్వహించాల్సిన అవసరం లేదు లేదా రేట్ లిమిట్స్ (rate limits) గురించి ఆందోళన చెందాల్సిన అవసరం లేదు.
లాభనష్టాలు (The Trade-offs)
Pagefind పరిపూర్ణం కాదు. మీరు ఈ రెండు లోపాలను తెలుసుకోవాలి:
• క్వెరీ లాగింగ్ లేదు (No Query Logging): Pagefind బ్రౌజర్లోనే రన్ అవుతుంది. యూజర్లు దేని కోసం వెతుకుతున్నారో ఇది మీకు చెప్పదు. Algolia దీనిని ఆటోమేటిక్గా చేస్తుంది. Pagefind కోసం మీరు మీ స్వంత లాగింగ్ లేయర్ను నిర్మించుకోవాలి. • ప్రాథమిక టైపో టాలరెన్స్ (Basic Typo Tolerance): Pagefind ప్రాథమిక 'stemming'ను ఉపయోగిస్తుంది. ఇది పెద్ద తప్పుల (typos) విషయంలో ఇబ్బంది పడుతుంది. Algolia టైపోలను చాలా మెరుగ్గా హ్యాండిల్ చేస్తుంది.
పోలిక సారాంశం (Comparison Summary)
• Pagefind: ఉచితం, స్టాటిక్ ఫైల్స్ను ఉపయోగిస్తుంది, లేజీ లోడింగ్ (lazy loading)తో బాగా స్కేల్ అవుతుంది, ప్రాథమిక టైపో టాలరెన్స్ కలిగి ఉంటుంది. • Algolia: $49/mo, క్లౌడ్ ఇన్ఫ్రాస్ట్రక్చర్ను ఉపయోగిస్తుంది, బాగా స్కేల్ అవుతుంది, బలమైన టైపో టాలరెన్స్ కలిగి ఉంటుంది. • Lunr.js: ఉచితం, ఇండెక్స్ను పేజీతో పాటు పంపిస్తుంది, స్కేలింగ్ తక్కువ, బలహీనమైన టైపో టాలరెన్స్.
నా తీర్పు (My Verdict)
మీరు 500 నుండి 1,000 ఎంట్రీలతో తక్కువ బడ్జెట్లో స్టాటిక్ సైట్ను నడుపుతుంటే, Pagefindని ఉపయోగించండి. మీకు అడ్వాన్స్డ్ అనలిటిక్స్ మరియు ఖచ్చితమైన టైపో టాలరెన్స్ కావాలంటే, Algolia కోసం డబ్బు చెల్లించండి.
