DanLevy.net

आपको Algolia™ की ज़रूरत नहीं हो सकती

स्टैटिक साइट्स को शायद होस्टेड सर्च की ज़रूरत नहीं होती

ज़्यादातर साइट सर्च के फ़ैसले बहुत देरी से शुरू होते हैं।

जब तक कोई कहता है “हमें Algolia इस्तेमाल करना चाहिए,” टीम ने आमतौर पर उपयोगी सवाल छोड़ दिया होता है: हम किस तरह की सामग्री को सर्च कर रहे हैं?

अगर जवाब है “HTML पेज जो हम पहले से बनाते हैं,” तो Pagefind पहली चीज़ होनी चाहिए जिसे आप आज़माएं। इसलिए नहीं कि Algolia बुरा है। Algolia कई मुश्किल समस्याओं में बहुत अच्छा है। लेकिन अगर आपका सर्च इंडेक्स तब बदलता है जब आपकी साइट डिप्लॉय होती है, तो होस्टेड सर्च सर्विस इंफ्रास्ट्रक्चर कॉस्मप्ले हो सकती है।

Pagefind का इस्तेमाल तब करें जब आपकी सर्च करने योग्य सामग्री बिल्ड टाइम पर जनरेट होती है। Algolia की ओर तब बढ़ें जब सर्च को लाइव राइट्स, बिज़नेस रूल्स, यूज़र-स्पेसिफ़िक रैंकिंग, या ऑपरेशनल गारंटी की ज़रूरत हो जो आपकी स्टैटिक बिल्ड नहीं दे सकती।

यह नियम उन साइटों को कवर करता है जितनी लोग उम्मीद करते हैं उससे ज़्यादा: ब्लॉग, डॉक्युमेंटेशन, मार्केटिंग साइट्स, इंटरनल हैंडबुक्स, प्रोडक्ट गाइड्स, कोर्स कैटलॉग, और हैरान करने वाली संख्या में “ऐप्स” जो ज़्यादातर पेज पब्लिश करते हैं।

समस्या का आकार

Algolia आपको एक बाहरी सर्च सिस्टम देता है। आप रिकॉर्ड बनाते हैं, उन्हें इंडेक्स में पुश करते हैं, रैंकिंग कॉन्फ़िगर करते हैं, UI वायर करते हैं, और चीज़ को अपने सोर्स ऑफ़ ट्रुथ के साथ सिंक्रनाइज़ रखते हैं।

Pagefind उस HTML को देखता है जो आपने पहले से शिप किया है और उसके बगल में एक स्टैटिक सर्च इंडेक्स बनाता है।

यह अंतर तब तक बोरिंग लगता है जब तक आप इंटीग्रेशन को मेंटेन नहीं करते।

Algolia के साथ, आपकी साइट में आपकी सामग्री की दूसरी कॉपी होती है। अब आपको ऐसे सवालों के जवाब देने होंगे जैसे:

कभी-कभी ये सवाल इसके लायक होते हैं। मार्केटप्लेस, सपोर्ट पोर्टल, या बड़े ई-कॉमर्स कैटलॉग के लिए, वे शायद हैं। स्टैटिक डॉक्युमेंटेशन साइट के लिए, वे अक्सर आत्म-निर्मित जटिलता होते हैं।

Pagefind इसलिए काम करता है क्योंकि यह अतिरिक्त सिस्टम को मना करता है

Pagefind का ट्रिक जादू नहीं है। यह स्वाद है।

यह तब तक इंतज़ार करता है जब तक आपके पेज मौजूद नहीं हो जाते, फ़िनिश्ड HTML को इंडेक्स करता है, और स्टैटिक एसेट्स का एक संग्रह लिखता है जिसे आप बाकी साइट के साथ उसी CDN पर रख सकते हैं। ब्राउज़र केवल उन्हीं चंक्स को डाउनलोड करता है जिनकी उसे ज़रूरत होती है। कोई सर्च सर्वर गर्म रखने के लिए नहीं है, कोई क्रॉलर कोटा देखने के लिए नहीं है, और कोई वेबहुक पाइपलाइन यह याद रखने की कोशिश नहीं कर रही कि क्या बदला।

इससे फ़ेल्योर मोड को समझना बहुत आसान हो जाता है:

इसीलिए मैं इसे कंटेंट साइट्स के लिए पसंद करता हूं। इंडेक्स आर्टिफ़ैक्ट का अनुसरण करता है।

सेटअप वास्तव में कैसा दिखता है

सादे स्टैटिक साइट के लिए, वर्कफ़्लो सुखद रूप से नीरस है:

PageFind CLI के साथ मेरी साइट को इंडेक्स करना
PageFind के साथ मेरी साइट को इंडेक्स करना

Getting Started गाइड आगे बढ़ने के लिए काफ़ी है। बेहतर टेस्ट ऑपरेशनल है: क्या आप CI में इंडेक्स रीबिल्ड कर सकते हैं, आउटपुट डिप्लॉय कर सकते हैं, और रेंडर्ड HTML का निरीक्षण करके हर सर्च मिस को समझा सकते हैं?

जहाँ Algolia अभी भी जीतता है

Pagefind एक छोटा Algolia नहीं है जो ट्रेंच कोट में छिपा हो। यह एक अलग जवाब है।

Algolia, OpenSearch, Postgres सर्च, या किसी अन्य लाइव सिस्टम का उपयोग तब करें जब आपका सर्च इंडेक्स साइट डिप्लॉय से स्वतंत्र रूप से बदलने की ज़रूरत रखता हो।

इसमें शामिल हैं:

ये असली ज़रूरतें हैं। यह pretending करना कि Pagefind उन्हें हैंडल करता है क्योंकि यह तेज़ है, वेंडर ब्लॉग वॉइस का दूसरा प्रकार होगा।

वह निर्णय जो मैं उपयोग करता हूं

पहले एक सवाल पूछें:

क्या सर्च इंडेक्स को उसी स्टैटिक आउटपुट से रीबिल्ड किया जा सकता है जिसे यूज़र्स ब्राउज़ कर रहे हैं?

अगर हां, तो Pagefind से शुरू करें। आपको डिफ़ॉल्ट रूप से प्राइवेट सर्च, CDN-अनुकूल एसेट्स, और एक कम सर्विस अकाउंट मिलता है जिसकी अपनी राय हो।

अगर नहीं, तो उस चीज़ का नाम बताएं जो इंडेक्स को लाइव बनाती है: इन्वेंटरी, परमिशन, पर्सनलाइज़ेशन, एनालिटिक्स, रैंकिंग, या राइट फ़्रीक्वेंसी। फिर उस डेटाबेस या सर्च सर्विस को चुनें जो उस काम को स्पष्ट रूप से ओन करता है।

Algolia यहां विलन नहीं है। विलन पहले आर्टिफ़ैक्ट के अपर्याप्त साबित होने से पहले दूसरी सिस्टम को अपनाना है।