Apache Solr Kya Hai

सोलर एक ओपन-सोर्स सर्च प्लेटफॉर्म है जिसका उपयोग सर्च एप्लिकेशन बनाने के लिए किया जाता है. यह Lucene पूर्ण पाठ खोज इंजन के शीर्ष पर बनाया गया था. सोलर उद्यम के लिए तैयार है तेज और उच्च स्केलेबल. सोलर का उपयोग करके बनाए गए एप्लिकेशन परिष्कृत हैं और उच्च प्रदर्शन प्रदान करते हैं.

यह 2004 में CNET नेटवर्क्स की कंपनी की वेबसाइट पर खोज क्षमताओं को जोड़ने के लिए सोलर को बनाने वाले Yonik Seely थे. जनवरी 2006 में इसे Apache Software Foundation के तहत एक ओपन-सोर्स प्रोजेक्ट बनाया गया था. इसका नवीनतम संस्करण सोलर 6.0, 2016 में समानांतर SQL प्रश्नों के निष्पादन के लिए समर्थन के साथ जारी किया गया था.

Hadoop के साथ Solr का भी इस्तेमाल किया जा सकता है. जैसे कि Hadoop बड़ी मात्रा में डेटा को संभालता है Solr हमें इतने बड़े स्रोत से आवश्यक जानकारी खोजने में मदद करता है. केवल खोज ही नहीं सोल्र का उपयोग भंडारण उद्देश्य के लिए भी किया जा सकता है. अन्य NoSQL डेटाबेस की तरह, यह एक गैर-संबंधपरक डेटा भंडारण और प्रसंस्करण प्रौद्योगिकी है.

संक्षेप में सोलर एक स्केलेबल है जो टेक्स्ट-केंद्रित डेटा के बड़े संस्करणों की खोज करने के लिए अनुकूलित, खोज भंडारण इंजन के लिए तैयार है.

Features of Apache Solr

Solr Lucene's Java API के चारों ओर एक आवरण है. इसलिए Solr का उपयोग करके आप Lucene की सभी विशेषताओं का लाभ उठा सकते हैं. आइए एक नजर डालते हैं सोलर की कुछ प्रमुख विशेषताओं पर -

Restful APIs

सोलर के साथ संवाद करने के लिए जावा प्रोग्रामिंग कौशल होना अनिवार्य नहीं है. इसके बजाय आप इसके साथ संचार करने के लिए आरामदायक सेवाओं का उपयोग कर सकते हैं. हम XML, JSON और CSV जैसे फ़ाइल स्वरूपों में सोलर में दस्तावेज़ दर्ज करते हैं और समान फ़ाइल स्वरूपों में परिणाम प्राप्त करते है.

Full Text Search

सोलर एक पूर्ण पाठ खोज के लिए आवश्यक सभी क्षमताएं प्रदान करता है जैसे टोकन, वाक्यांश, वर्तनी जांच, वाइल्डकार्ड और ऑटो-पूर्ण.

Enterprise Ready

संगठन की आवश्यकता के अनुसार सोलर को बड़े या छोटे किसी भी तरह के सिस्टम में तैनात किया जा सकता है जैसे स्टैंडअलोन, वितरित, क्लाउड, आदि.

Flexible and Extensible

जावा कक्षाओं का विस्तार करके और तदनुसार विन्यास करके हम आसानी से सोलर के घटकों को अनुकूलित कर सकते हैं.

NoSQL Database

Solr का उपयोग बड़े डेटा स्केल NOSQL डेटाबेस के रूप में भी किया जा सकता है जहां हम क्लस्टर के साथ खोज कार्यों को वितरित कर सकते हैं.

Admin Interface

सोलर एक आसान उपयोग उपयोगकर्ता के अनुकूल, सुविधा संचालित, उपयोगकर्ता इंटरफ़ेस प्रदान करता है जिसके उपयोग से हम लॉग, ऐड, डिलीट, अपडेट और खोज दस्तावेजों को प्रबंधित करने जैसे सभी संभावित कार्य कर सकते हैं.

Highly Scalable

Hadoop के साथ Solr का उपयोग करते समय हम प्रतिकृतियों को जोड़कर इसकी क्षमता को माप सकते हैं.

Text-Centric and Sorted by Relevance

सोलर का उपयोग ज्यादातर पाठ दस्तावेजों को खोजने के लिए किया जाता है और परिणाम क्रम में उपयोगकर्ता की क्वेरी के साथ प्रासंगिकता के अनुसार दिए जाते हैं.

ल्यूसिने के विपरीत अपाचे सोलर के साथ काम करते समय आपको जावा प्रोग्रामिंग कौशल की आवश्यकता नहीं होगी. यह स्वत: पूर्ण की विशेषता वाले एक खोज बॉक्स का निर्माण करने के लिए एक अद्भुत रेडी-टू-परिनियोजित सेवा प्रदान करता है जो कि Lucene प्रदान नहीं करता है. सोलर का उपयोग करके हम बड़े पैमाने पर बिग डेटा अनुप्रयोगों के लिए सूचकांक को स्केल, वितरित और प्रबंधित कर सकते हैं.

Lucene in Search Applications

Lucene सरल अभी तक शक्तिशाली जावा-आधारित खोज पुस्तकालय है. इसका उपयोग किसी भी एप्लिकेशन में खोज क्षमता को जोड़ने के लिए किया जा सकता है. Lucene एक स्केलेबल और हाई-परफॉर्मेंस लाइब्रेरी है जिसका इस्तेमाल लगभग किसी भी तरह के टेक्स्ट को इंडेक्स और सर्च करने के लिए किया जाता है. ल्यूसिन लाइब्रेरी कोर संचालन प्रदान करती है जो किसी भी खोज एप्लिकेशन द्वारा आवश्यक होती है जैसे कि अनुक्रमण और खोज.

यदि हमारे पास भारी मात्रा में डेटा वाला एक वेब पोर्टल है तो हमें डेटा के विशाल पूल से प्रासंगिक जानकारी निकालने के लिए संभवत हमारे पोर्टल में एक खोज इंजन की आवश्यकता होगी. ल्यूसिन किसी भी खोज एप्लिकेशन के दिल के रूप में काम करता है और अनुक्रमण और खोज से संबंधित महत्वपूर्ण संचालन प्रदान करता है.

Apache Solr Search Engine Basics

एक खोज इंजन इंटरनेट संसाधनों के एक विशाल डेटाबेस को संदर्भित करता है जैसे वेबपेज, समाचार समूह, कार्यक्रम, चित्र आदि. यह वर्ल्ड वाइड वेब पर जानकारी का पता लगाने में मदद करता है.

उपयोगकर्ता कीवर्ड या वाक्यांश के रूप में खोज इंजन में प्रश्नों को पास करके जानकारी खोज सकते हैं. खोज इंजन तब अपने डेटाबेस में खोज करता है और उपयोगकर्ता के लिए प्रासंगिक लिंक देता है.

Search Engine Components

आम तौर पर नीचे सूचीबद्ध के रूप में एक खोज इंजन के तीन बुनियादी घटक हैं -

Web Crawler

वेब क्रॉलर को मकड़ियों या बॉट्स के रूप में भी जाना जाता है. यह एक सॉफ्टवेयर घटक है जो जानकारी इकट्ठा करने के लिए वेब का पता लगाता है.

Database

वेब पर सभी जानकारी डेटाबेस में संग्रहीत होती है. इनमें भारी मात्रा में वेब संसाधन होते हैं.

Search Interfaces

यह घटक उपयोगकर्ता और डेटाबेस के बीच का एक इंटरफेस है. यह उपयोगकर्ता को डेटाबेस के माध्यम से खोजने में मदद करता है.

Search Engines कैसे काम करते हैं?

निम्न में से कुछ या सभी कार्यों को करने के लिए किसी भी खोज एप्लिकेशन की आवश्यकता होती है.

Acquire Raw Content

किसी भी खोज एप्लिकेशन का पहला कदम लक्ष्य सामग्री एकत्र करना है जिस पर खोज की जानी है.

Build the Document

अगला कदम कच्ची सामग्री से दस्तावेजों का निर्माण करना है जिसे खोज एप्लिकेशन आसानी से समझ और व्याख्या कर सकता है.

Analyze the Document

इंडेक्सिंग शुरू करने से पहले दस्तावेज़ का विश्लेषण किया जाना है.

Indexing the Document

एक बार जब दस्तावेज़ों का निर्माण और विश्लेषण किया जाता है तो अगला कदम उन्हें अनुक्रमित करना होता है ताकि दस्तावेज़ की संपूर्ण सामग्री के बजाय इस दस्तावेज़ को कुछ कुंजियों के आधार पर पुनर्प्राप्त किया जा सके.

अनुक्रमणिका अनुक्रमणिका के समान होती है जो हमारे पास एक पुस्तक के अंत में होती है जहां आम शब्दों को उनके पृष्ठ संख्याओं के साथ दिखाया जाता है ताकि इन शब्दों को पूर्ण पुस्तक खोजने के बजाय जल्दी से ट्रैक किया जा सके.

User Interface for Search

एक बार जब अनुक्रमित का एक डेटाबेस तैयार हो जाता है तो एप्लिकेशन सर्च ऑपरेशन कर सकता है. उपयोगकर्ता को खोज करने में मदद करने के लिए एप्लिकेशन को एक उपयोगकर्ता इंटरफ़ेस प्रदान करना होगा जहां उपयोगकर्ता पाठ में प्रवेश कर सकता है और खोज प्रक्रिया शुरू कर सकता है.

Build Query

एक बार जब उपयोगकर्ता किसी पाठ को खोजने के लिए अनुरोध करता है तो अनुप्रयोग को उस पाठ का उपयोग करके एक क्वेरी ऑब्जेक्ट तैयार करना चाहिए जिसका उपयोग प्रासंगिक विवरण प्राप्त करने के लिए सूचकांक डेटाबेस की पूछताछ के लिए किया जा सकता है.

Search Query

क्वेरी ऑब्जेक्ट का उपयोग करके संबंधित विवरण और सामग्री दस्तावेजों को प्राप्त करने के लिए सूचकांक डेटाबेस की जाँच की जाती है.

Render Results

एक बार आवश्यक परिणाम प्राप्त होने के बाद, एप्लिकेशन को यह तय करना चाहिए कि उपयोगकर्ता को उसके यूजर इंटरफेस का उपयोग करके परिणाम कैसे प्रदर्शित किया जाए.