Astro-விற்கான Static Site Search
கடந்த மாதம் நான் மூன்று AI டைரக்டரி தளங்களில் தேடல் வசதியைச் சேர்த்தேன்.
Pagefind-ஐத் தேர்ந்தெடுப்பதற்கு முன் நான் நான்கு முக்கிய விருப்பங்களை ஒப்பிட்டுப் பார்த்தேன். நான் அதை ஏன் தேர்ந்தெடுத்தேன் என்பதற்கான காரணங்கள் இதோ.
போட்டியாளர்கள்
• Pagefind: இது Rust-அடிப்படையிலான ஒரு library. இது build time-ன் போது இயங்கி, அனைத்தையும் static files ஆக வழங்குகிறது. • Algolia DocSearch: இது ஒரு hosted service. இது வேகமானது மற்றும் நேர்த்தியானது, ஆனால் வணிக ரீதியான தளங்களுக்குக் கட்டணம் வசூலிக்கப்படுகிறது. • Lunr.js: இது ஒரு client-side library. இது offline-லும் வேலை செய்யும், ஆனால் உங்கள் ஆரம்பக்கட்ட page load-ஐ அதிகமாக்கும். • FlexSearch: இது Lunr-க்கு ஒரு வேகமான மாற்றாகும், ஆனால் இது இன்னும் முழு index-ஐயும் browser-க்கு அனுப்ப வேண்டியிருக்கும்.
நான் ஏன் Pagefind-ஐத் தேர்ந்தெடுத்தேன்
Index அளவு எனது தளங்களில் 1,000 பதிவுகள் உள்ளன. Lunr index ஒவ்வொரு page load-க்கும் 4MB-ஐச் சேர்க்கும். Pagefind shards-களைப் பயன்படுத்துகிறது. பயனர் தட்டச்சு செய்யும்போது இது சிறிய துண்டுகளை (chunks) ஏற்றுகிறது. ஆரம்பக்கட்ட load 30KB-க்கும் குறைவாகவே இருக்கும்.
செலவு வணிக ரீதியான தளங்களுக்கு Algolia மாதம் $49 வசூலிக்கிறது. எனது மூன்று தளங்களுக்கான மொத்த பட்ஜெட் மாதம் $25 மட்டுமே. Pagefind இலவசம்.
Deployment Pagefind static files-களை உருவாக்குகிறது. Cloudflare Pages இவற்றைத் தானாகவே edge-ல் cache செய்கிறது. நீங்கள் API keys-களை நிர்வகிக்கவோ அல்லது rate limits பற்றி கவலைப்படவோ தேவையில்லை.
சவால்கள்
Pagefind முழுமையானது அல்ல. இந்த இரண்டு குறைபாடுகளை நீங்கள் தெரிந்து கொள்ள வேண்டும்:
• Query Logging இல்லை: Pagefind browser-ல் இயங்குகிறது. பயனர்கள் எதைத் தேடுகிறார்கள் என்பதை இது உங்களுக்குத் தெரிவிக்காது. Algolia இதைத் தானாகவே செய்கிறது. Pagefind-க்கு நீங்கள் சொந்தமாக ஒரு logging layer-ஐ உருவாக்க வேண்டும். • அடிப்படை Typo Tolerance: Pagefind அடிப்படை stemming முறையைப் பயன்படுத்துகிறது. பெரிய எழுத்துப் பிழைகளை (typos) கையாள்வதில் இது சிரமப்படும். Algolia பிழைகளை மிகச் சிறப்பாகக் கையாளும்.
ஒப்பீட்டுச் சுருக்கம்
• Pagefind: இலவசம், static files-களைப் பயன்படுத்துகிறது, lazy loading மூலம் சிறப்பாகச் செயல்படும், அடிப்படை typo tolerance கொண்டது. • Algolia: மாதம் $49, cloud infrastructure-ஐப் பயன்படுத்துகிறது, சிறப்பாகச் செயல்படும், வலுவான typo tolerance கொண்டது. • Lunr.js: இலவசம், index-ஐ பக்கத்துடன் சேர்த்து அனுப்புகிறது, மோசமான scaling, பலவீனமான typo tolerance.
எனது முடிவு
நீங்கள் 500 முதல் 1,000 பதிவுகள் கொண்ட ஒரு சிறிய பட்ஜெட் static site-ஐ நடத்துகிறீர்கள் என்றால், Pagefind-ஐப் பயன்படுத்தவும். உங்களுக்கு மேம்பட்ட analytics மற்றும் துல்லியமான typo tolerance தேவைப்பட்டால், Algolia-விற்குப் பணம் செலுத்தவும்.
