लगातार विकसित हो रहे डिजिटल परिदृश्य में, सर्च इंजन विभिन्न प्लेटफार्मों में खोज कार्यात्मकताओं को सशक्त बनाने में तेजी से महत्वपूर्ण भूमिका निभाते हैं। लोकप्रिय सर्च इंजनों में, मीलिसर्च और मैटिकोर सर्च अपनी अनूठी पेशकशों के साथ सबसे अलग हैं।
हालाँकि, अपने प्रोजेक्ट के लिए सही सर्च इंजन चुनने के लिए उनके प्रदर्शन, उपयोग के मामलों और सीमाओं की गहन समझ की आवश्यकता होती है। इस लेख का उद्देश्य माइलीसर्च और मोनिकोर सर्च की तुलना प्रदान करना है, उनके फीचर सेट और डेटा अंतर्ग्रहण और तीन वास्तविक दुनिया बेंचमार्क में खोज प्रदर्शन पर ध्यान केंद्रित करना: 10 मिलियन एनजीआईएनएक्स लॉग, हैकर न्यूज 1.1 मिलियन डॉक्स डेटासेट, और हैकर न्यूज 116 मिलियन डॉक्स डेटासेट सभी डीबी बेंचमार्क पर उपलब्ध हैं। सभी प्रदर्शन परीक्षण स्क्रिप्ट, कॉन्फ़िगरेशन और डेटा संग्रह सार्वजनिक रूप से उपलब्ध और प्रतिलिपि प्रस्तुत करने योग्य हैं।
मोनिकोर और मेलिसर्च दोनों ही स्वयं को पूर्ण-पाठ खोज इंजन के रूप में स्थापित करते हैं। पूर्ण-पाठ खोज इंजन में मुख्य तत्व यह है कि वे खोज के दौरान दस्तावेज़ों को कैसे रैंक करते हैं।
सही खोज रैंकिंग एल्गोरिथम चुनना महत्वपूर्ण है ताकि यह सुनिश्चित किया जा सके कि उपयोगकर्ता सटीक और याद रखने वाली जानकारी पा सकें। पूर्ण-पाठ खोज प्रासंगिकता के संदर्भ में, यह समझना आवश्यक है कि ये एल्गोरिदम कैसे काम करते हैं और सटीक और सार्थक खोज परिणाम प्रदान करने में कैसे योगदान करते हैं।
मटियोर सर्च खोज रैंकिंग को नियंत्रित करने में बहुत लचीला है और दर्जनों रैंकिंग कारकों को उजागर करता है; हालाँकि, डिफ़ॉल्ट रूप से, यह शास्त्रीय BM25 एल्गोरिथ्म और इसके डेरिवेटिव को नियोजित करता है। BM25 एक अच्छी तरह से स्थापित सूचना पुनर्प्राप्ति एल्गोरिथ्म है जो शब्द आवृत्ति और व्युत्क्रम दस्तावेज़ आवृत्ति के आधार पर दस्तावेज़ों की प्रासंगिकता की गणना करता है।
बीईआईआर (बेंचमार्किंग एंड इवैल्यूएशन ऑफ इंफॉर्मेशन रिट्रीवल) बेंचमार्क के लिए जारी पुल अनुरोध खोज की प्रासंगिकता के प्रति मोंटिकोर सर्च की प्रतिबद्धता को प्रदर्शित करता है। बीईआईआर एक मूल्यांकन ढांचा है जो विभिन्न कार्यों, जैसे दस्तावेज़ पुनर्प्राप्ति और प्रश्न-उत्तर पर सूचना पुनर्प्राप्ति प्रणालियों के प्रदर्शन को मापता है। BEIR बेंचमार्क के परिणाम यहां देखे जा सकते हैं:
https://docs.google.com/spreadsheets/d/1_ZyYkPJ_K0st9FJBrjbZqX14nmCCPVlE_y3a_y5KkYI/edit#gid=0 ।
इसके विपरीत, मेलिसर्च अच्छी खोज प्रासंगिकता प्रदान करने का दावा करता है, लेकिन इस दावे को प्रमाणित करने के लिए कोई सार्वजनिक मानक उपलब्ध नहीं हैं। हैकर न्यूज पर एक चर्चा के अनुसार, माइलीसर्च के उपयोगकर्ताओं ने इसकी खोज प्रासंगिकता का उल्लेख किया है, लेकिन बिना किसी अनुभवजन्य साक्ष्य के, इसके प्रदर्शन की निष्पक्ष रूप से मटियोर सर्च से तुलना करना मुश्किल है।
कुल मिलाकर, मणिकोर सर्च का सिद्ध रैंकिंग एल्गोरिदम का उपयोग और बीईआईआर बेंचमार्क में भागीदारी अत्यधिक प्रासंगिक खोज परिणाम प्रदान करने की अपनी प्रतिबद्धता पर प्रकाश डालती है, जिससे यह विभिन्न अनुप्रयोगों के लिए एक विश्वसनीय विकल्प बन जाता है। जबकि मीलीसर्च पूर्ण-पाठ खोज प्रासंगिकता में भी उत्कृष्ट हो सकता है, एक निश्चित बयान देना मुश्किल है क्योंकि कोई स्थापित बेंचमार्क नहीं हैं और उपयोग किए गए एल्गोरिदम व्यापक रूप से ज्ञात नहीं हैं।
मोनिकोर सर्च बड़े डेटासेट (जैसे 1.7 बिलियन डॉक्स टैक्सी राइड टेस्ट या केवल Craigslist.org ) को पंक्ति-वार और कॉलमर स्टोरेज के उपयोग के माध्यम से प्रभावी ढंग से संभालने की अपनी क्षमता प्रदर्शित करता है। बड़े डेटासेट पर खोज प्रदर्शन में तेजी लाने और रैम की खपत को कम करने के लिए विशेष रूप से स्तंभकार दृष्टिकोण तैयार किया गया है। इसके विपरीत, मैटिकोर सर्च का डिफॉल्ट रो-वाइज स्टोरेज छोटे और मध्यम डेटासेट पर अपराजेय प्रदर्शन प्रदान करता है। यह लचीलापन मटियोर सर्च को अनुप्रयोगों की एक विस्तृत श्रृंखला के लिए एक आदर्श विकल्प बनाता है।
दूसरी ओर, माइलीसर्च, बड़े डेटासेट के साथ संघर्ष करता है, क्योंकि हम लोड होने के 2 दिन बाद भी हैकर न्यूज़ के बड़े डेटासेट को सर्च इंजन में लोड नहीं कर सके। इसके अलावा, दस्तावेज़ों को लोड करते समय Meilisearch प्रदर्शन में गिरावट का अनुभव करता है। जैसे-जैसे डेटासेट बढ़ता है, दस्तावेजों के प्रत्येक बाद के बैच को लोड करने में लगने वाला समय बढ़ता जाता है। यह प्रदर्शन समस्या इंगित करती है कि मीलीसर्च में डेटा मापनीयता के साथ समस्या है और यह उन अनुप्रयोगों के लिए समस्याग्रस्त हो सकता है जिनके लिए रीयल-टाइम डेटा अंतर्ग्रहण या बड़े डेटासेट के अनुक्रमण की आवश्यकता होती है। Meilisearch एक कतार में दस्तावेज़ अद्यतनों को संसाधित करता है, जिससे समय के साथ अड़चनें और कम प्रदर्शन हो सकता है।
यह नोट करना महत्वपूर्ण है कि मेलिसर्च में दस्तावेज़ अद्यतन तुरंत खोज प्रश्नों में प्रतिबिंबित नहीं होते हैं। ऐसा इसलिए है क्योंकि Meilisearch अद्यतनों को संभालने के लिए एक अतुल्यकालिक कार्य कतार को नियोजित करता है, यह सुनिश्चित करता है कि गहन अनुक्रमण संचालन के दौरान भी खोज प्रदर्शन स्थिर रहे।
दस्तावेज़ को अपडेट करते समय, कार्य कतार में परिवर्तन जोड़ा जाता है और पृष्ठभूमि में इंजन द्वारा संसाधित किया जाता है। एक बार कार्य पूरा हो जाने पर, अद्यतन डेटा खोज परिणामों में उपलब्ध हो जाता है। प्रसंस्करण समय अद्यतन आकार और सर्वर संसाधनों के आधार पर भिन्न हो सकता है। कार्य की स्थिति पर नज़र रखने के लिए, आप कार्य API का उपयोग कर सकते हैं, जो कार्य की प्रगति और पूर्णता के बारे में जानकारी प्रदान करता है।
क्षमताओं को आरटी, रिप्लेस और डिलीट करें, जैसे ही क्वेरी पूरी हो जाए, परिवर्तनों को तुरंत दिखाई देने की अनुमति देता है।
संक्षेप में, जबकि Meilisearch तेज़ और कुशल खोज क्षमताएँ प्रदान करता है, ध्यान रखें कि अतुल्यकालिक कार्य प्रसंस्करण के कारण दस्तावेज़ों के अद्यतन खोज परिणामों में तुरंत दिखाई नहीं दे सकते हैं।
Meilisearch अपनी प्रभावशाली गति के लिए जाना जाता है, कई मामलों में Elasticsearch से बेहतर प्रदर्शन करता है । हालाँकि, छोटे डेटासेट के साथ काम करते समय इसका प्रदर्शन सबसे अधिक ध्यान देने योग्य होता है। जैसे-जैसे डेटासेट का आकार बढ़ता है, मेलिसर्च का प्रदर्शन घट सकता है।
मोनिकोर सर्च लगातार विभिन्न क्वेरी प्रकारों और डेटासेट प्रकारों के लिए तेजी से क्वेरी प्रदर्शन प्रदान करता है, जो माइलीसर्च और इलास्टिक्स खोज दोनों से बेहतर प्रदर्शन करता है। अनुकूलित पंक्ति-वार और कॉलमर इंडेक्सिंग विधियों के साथ, मोनिकोर एक उत्तरदायी खोज अनुभव सुनिश्चित करता है, जो उच्च-प्रदर्शन अनुप्रयोगों में उपयोगकर्ता जुड़ाव बनाए रखने के लिए महत्वपूर्ण है।
इसके विपरीत, Meilisearch बड़े डेटासेट को कुशलतापूर्वक संभालने में संघर्ष करता है और दस्तावेज़ लोड करने के दौरान प्रदर्शन में गिरावट से पीड़ित होता है। इसलिए, जो लोग अपने डेटासेट आकार के बारे में चिंता नहीं करना चाहते हैं, उनके लिए मटिकोर बेहतर विकल्प है।
हैकर न्यूज छोटा डेटासेट बेंचमार्क, जिसमें संख्यात्मक क्षेत्रों के साथ 1.1 मिलियन क्यूरेटेड हैकर न्यूज टिप्पणियों का संग्रह है (स्रोत: https://zenodo.org/record/45901/ ), मेइलिसर्च पर मटियोर सर्च के उच्च खोज प्रदर्शन को हाइलाइट करता है। डेटासेट में टिप्पणियों और संख्यात्मक क्षेत्रों जैसे कि अपवोट, टाइमस्टैम्प और उपयोगकर्ता आईडी से पाठ्य डेटा होता है। बेंचमार्क टेस्ट में सर्च इंजन की क्षमताओं का आकलन करने के लिए फुल-टेक्स्ट और एनालिटिकल क्वेश्चन चलाना शामिल है।
इस लिंक के माध्यम से बेंचमार्क परिणामों को भी सत्यापित किया जा सकता है।
दुर्भाग्य से, मीलीसर्च कई प्रकार के प्रश्नों को निष्पादित करने में सक्षम नहीं है, जैसे एकत्रीकरण प्रश्न और नकारात्मक पूर्ण-पाठ खोज शब्द वाले प्रश्न।
इस बेंचमार्क का एक दिलचस्प पहलू दो खोज इंजनों के बीच डिस्क स्थान उपयोग में महत्वपूर्ण अंतर है:
[email protected] /perf/test_engines/tests/hn_small/manticore # du -sh idx 1.1G idx [email protected] /perf/test_engines/tests/hn_small/meilisearch # du -sh . 38G .
Meilisearch को Manticore Search की तुलना में समान डेटासेट को संग्रहीत करने के लिए 34 गुना अधिक डिस्क स्थान की आवश्यकता होती है।
डेटा लोडिंग प्रदर्शन के संदर्भ में इसमें लगा:
डेटा लोडिंग को पूरी तरह से पूरा करने के लिए।
इस परीक्षण में वही 1.1 मिलियन क्यूरेटेड हैकर न्यूज कमेंट डेटासेट (स्रोत: https://zenodo.org/record/45901/ ) शामिल है, लेकिन 100 गुना गुणा किया गया, जिसके परिणामस्वरूप लगभग 116 मिलियन दस्तावेज़ बने। बेंचमार्क में पूर्ण-पाठ और विश्लेषणात्मक प्रश्न दोनों शामिल हैं, जो इसे बड़े पैमाने पर खोज इंजन क्षमताओं का मूल्यांकन करने के लिए एक उत्कृष्ट परीक्षण मामला बनाता है।
Meilisearch 2 दिनों में डेटा लोड नहीं कर सका। डेटाबेस के बढ़ने के साथ ही आवेषण का प्रदर्शन कम हो गया। हमने इसे अनुकूलित करने का प्रयास किया, लेकिन असफल रहे क्योंकि सभी बैचों, यहां तक कि जब हमने उन्हें समानांतर बनाने की कोशिश की, एक कतार में चले गए। परिणामस्वरूप, हम Meilisearch के डेटा लोड में कोई सुधार नहीं कर सके। Meilisearch को केवल 38% डेटा लोड करने में लगभग 2 दिन लगे, जो पहले से ही 850 GB से अधिक डिस्क स्थान की खपत करता था। यह मटियोर सर्च के बिल्कुल विपरीत है, जिसने लगभग 100 जीबी डिस्क स्थान का उपयोग करके पूरे डेटासेट को संग्रहीत किया और एक सीपीयू कोर (जो वस्तुतः रैखिक रूप से स्केलेबल है) का उपयोग करके लोड करने में 2 घंटे 9 मिनट का समय लगा।
संपूर्ण हैकर समाचार बड़े डेटासेट को संसाधित करने में मीलीसर्च की अक्षमता अधिक व्यापक डेटा संग्रह के साथ प्रबंधन और स्केलिंग में इसकी चुनौतियों पर प्रकाश डालती है। इस बेंचमार्क में मैटिकोर सर्च का बेहतर प्रदर्शन बड़े पैमाने पर खोज आवश्यकताओं को संभालने की इसकी क्षमता को रेखांकित करता है, जिससे यह बड़े डेटा संग्रह वाले अनुप्रयोगों के लिए अधिक उपयुक्त विकल्प बन जाता है।
चूंकि हम डेटा को मीलीसर्च में लोड नहीं कर सके, इसलिए आप केवल मटिकोर के परिणामों को यहां देख सकते हैं।
यह परीक्षण 10 मिलियन एनजीआईएनएक्स लॉग वाले डेटासेट पर आधारित है। इस डेटासेट का स्रोत कागल है। वेब सर्वर लॉग विभिन्न घटनाओं को पंजीकृत करते हैं, वेबसाइट आगंतुकों, उपयोगकर्ता व्यवहार, साइट तक पहुंचने वाले क्रॉलर, व्यावसायिक खुफिया, सुरक्षा मुद्दों और अन्य में मूल्यवान अंतर्दृष्टि प्रदान करते हैं। बेंचमार्क विशिष्ट प्रश्नों की एक क्यूरेटेड सूची का उपयोग करता है जो एक यादृच्छिक DevOps इंजीनियर चला सकता है।
मोनिकोर सर्च और मेलिसर्च ने डेटासेट के लिए डिस्क स्थान उपयोग में एक महत्वपूर्ण अंतर प्रदर्शित किया। मैटिकोर सर्च ने 4.4 जीबी डिस्क स्थान का उपयोग किया, जबकि मेलिसर्च ने 69 जीबी की खपत की, जो कि मैटिकोर से लगभग 15 गुना अधिक है। हालांकि अंतर हैकर न्यूज के छोटे डेटासेट परीक्षण की तुलना में कम नाटकीय है, यह अभी भी उल्लेखनीय है, विशेष रूप से लॉग्स 10 एम डेटासेट में कम टेक्स्ट डेटा होता है।
डेटा को भरने में माइलीसर्च को लगभग 20 मिनट का समय लगा, जबकि मटिकोर ने 6 मिनट में समाप्त कर दिया।
आप प्रदान किए गए लिंक का उपयोग करके प्रदर्शन परिणामों की विस्तृत तुलना प्राप्त कर सकते हैं। कृपया ध्यान दें कि कई खाली परिणाम केवल मीलीसार्च के कुछ प्रकार के प्रश्नों को संभालने में असमर्थ होने के कारण हैं। परिणामस्वरूप, बेंचमार्किंग प्रक्रिया के दौरान इन प्रश्नों को छोड़ दिया गया।
छोटे पैमाने की परियोजनाएँ: माइलीसर्च की हल्की प्रकृति और परिनियोजन में आसानी इसे सीमित डेटा और खोज आवश्यकताओं वाली छोटी परियोजनाओं के लिए उपयुक्त बनाती है, जैसे छोटे पैमाने पर ई-कॉमर्स, व्यक्तिगत वेबसाइटें, स्थानीय निर्देशिकाएँ, या सरल वेब अनुप्रयोग, जहाँ तेज़ डेटा लोड हो रहा है, उन्नत खोज सुविधाएँ और मापनीयता महत्वपूर्ण कारक नहीं हैं।
अपनी परियोजना के लिए खोज इंजन चुनते समय, खोज प्रासंगिकता, मापनीयता और प्रदर्शन जैसे कारकों पर विचार करना महत्वपूर्ण है। डेटासेट आकार की परवाह किए बिना इष्टतम खोज प्रदर्शन और प्रासंगिकता सुनिश्चित करते हुए, विविध अनुप्रयोगों और उपयोग के मामलों के लिए मॉन्टिकोर सर्च बेहतर विकल्प के रूप में खड़ा है। इसकी उन्नत खोज और विश्लेषिकी क्षमताएं इसे उन परियोजनाओं के लिए एक विश्वसनीय विकल्प बनाती हैं जो उच्च-प्रदर्शन खोज कार्यक्षमता की मांग करती हैं।
Meilisearch उन छोटी परियोजनाओं के लिए उपयुक्त है जहाँ उन्नत खोज सुविधाएँ और मापनीयता महत्वपूर्ण कारक नहीं हैं।
अंतत: मटियोर सर्च और मेलिसर्च के बीच चुनाव आपकी विशिष्ट जरूरतों और परियोजना आवश्यकताओं पर निर्भर करेगा।