इन प्रौद्योगिकियों के बीच मुख्य वास्तु अंतर क्या हैं?
इसके अलावा, आमतौर पर प्रत्येक के लिए कौन से उपयोग के मामले अधिक उपयुक्त होते हैं?
इन प्रौद्योगिकियों के बीच मुख्य वास्तु अंतर क्या हैं?
इसके अलावा, आमतौर पर प्रत्येक के लिए कौन से उपयोग के मामले अधिक उपयुक्त होते हैं?
जवाबों:
अब जब प्रश्न का दायरा सही हो गया है, तो मैं इस संबंध में कुछ जोड़ सकता हूं:
Apache Solr और ElasticSearch के बीच कई तुलनाएँ उपलब्ध हैं, इसलिए मैं उन लोगों का संदर्भ लूंगा जिन्हें मैंने स्वयं सबसे उपयोगी पाया है, अर्थात सबसे महत्वपूर्ण पहलुओं को कवर करना:
बॉब योपलैट ने पहले से ही किमची के जवाब को इलास्टिकसर्च, स्फिंक्स, ल्यूसीन, सोलर, ज़ापियन से जोड़ा था । कौन सा उपयोग किसके लिए उपयुक्त है? , जो उन कारणों के बारे में बताता है कि वह क्यों आगे बढ़े और ElasticSearch बनाया , जो उनकी राय में सोलर की तुलना में बहुत बेहतर वितरित मॉडल और उपयोग में आसानी प्रदान करता है ।
रयान सोननेक की रियलटाइम खोज: सोलर बनाम एलिस्टिक्स खोज एक व्यावहारिक विश्लेषण / तुलना प्रदान करता है और बताता है कि वह पहले से ही एक खुश सोल उपयोगकर्ता होने के बावजूद, सोल से एलास्टिकसच में स्विच क्यों कर रहा है - वह इसे इस प्रकार संक्षेप में प्रस्तुत करता है:
सोलर मानक खोज अनुप्रयोगों का निर्माण करते समय पसंद का हथियार हो सकता है , लेकिन एलियटिक्स खोज आधुनिक रियलटाइम खोज अनुप्रयोगों को बनाने के लिए वास्तुकला के साथ अगले स्तर पर ले जाता है । परकोलेशन एक रोमांचक और अभिनव विशेषता है जो सोलहेडली सोलर को पानी से बाहर निकालता है। इलास्टिक्स खोज स्केलेबल, स्पीडी और इंटीग्रेट करने का सपना है । Adios Solr, यह जानकर आपको अच्छा लगा। [जोर मेरा]
ElasticSearch पर विकिपीडिया लेख प्रतिष्ठित जर्मन IX पत्रिका की तुलना , फायदे और नुकसान की सूची से तुलना करता है, जो पहले से ही ऊपर कही गई बातों को संक्षेप में प्रस्तुत करता है:
लाभ :
- ElasticSearch वितरित है। कोई अलग परियोजना की आवश्यकता नहीं है। प्रतिकृतियां वास्तविक समय के पास होती हैं, जिसे "पुश प्रतिकृति" कहा जाता है।
- ElasticSearch पूरी तरह से Apache Lucene की वास्तविक समय की खोज का समर्थन करता है।
- मल्टीटैनेंसी को संभालना एक विशेष कॉन्फ़िगरेशन नहीं है, जहां सोलर के साथ अधिक उन्नत सेटअप आवश्यक है।
- ElasticSearch गेटवे की अवधारणा का परिचय देता है, जो पूर्ण बैकअप को आसान बनाता है।
नुकसान :
केवल एक मुख्य डेवलपर[वर्तमान इलास्टिसिटिट गिटहब संगठन के अनुसार अब लागू नहीं होता है , इसके अलावा पहले स्थान पर एक बहुत सक्रिय कमिटर बेस है]कोई आटोवर्मिंग सुविधा[नए सूचकांक वार्मअप एपीआई के अनुसार अब लागू नहीं ]
वे पूरी तरह से अलग-अलग उपयोग के मामलों को संबोधित करने वाली पूरी तरह से अलग तकनीक हैं, इस प्रकार किसी भी सार्थक तरीके से उनकी तुलना नहीं की जा सकती है:
अपाचे सोलर - अपाचे सोलर उपयोग करने के लिए एक आसान में ल्यूसीन की क्षमताओं की पेशकश करता है, मुखर और स्केलेबिलिटी जैसे अतिरिक्त सुविधाओं के साथ तेजी से खोज सर्वर।
Amazon ElastiCache - Amazon ElastiCache एक वेब सेवा है जो क्लाउड में इन-मेमोरी कैश को तैनात करना, संचालित करना और स्केल करना आसान बनाती है ।
[जोर मेरा]
हो सकता है कि यह निम्नलिखित दो संबंधित तकनीकों के साथ भ्रमित हो गया हो
इलास्टिकसर्च - यह एक ओपन सोर्स (अपाचे 2) है, डिस्ट्रीब्यूटेड, रेस्टफुल, सर्च इंजन जो कि एप्रेन लॉयने के ऊपर बनाया गया है।
Amazon CloudSearch - Amazon CloudSearch क्लाउड में एक पूरी तरह से प्रबंधित खोज सेवा है जो ग्राहकों को अपने अनुप्रयोगों में तेज़ और अत्यधिक स्केलेबल खोज कार्यक्षमता को आसानी से एकीकृत करने की अनुमति देता है।
Solr और ElasticSearch प्रसाद आश्चर्यजनक ढंग से पहली नजर में समान ध्वनि, और दोनों एक ही बैकएंड खोज इंजन, अर्थात् का उपयोग अपाचे Lucene ।
जबकि Solr पुराना है, काफी बहुमुखी और परिपक्व और व्यापक रूप से इस्तेमाल किया उसके अनुसार, ElasticSearch विशेष रूप से पता करने के लिए विकसित किया गया है Solr कमियों scalability आधुनिक बादल वातावरण में जो कठिन (ईआर) कर रहे हैं के साथ पते पर आवश्यकताओं के साथ Solr ।
इस तरह यह संभवतः हाल ही में शुरू किए गए अमेज़ॅन क्लाउडसर्च के साथ इलास्टिकसर्च की तुलना करने के लिए सबसे अधिक उपयोगी होगा ( $ 100 / महीने से कम समय के लिए एक घंटे में परिचयात्मक पोस्ट प्रारंभ खोज देखें ), क्योंकि दोनों सिद्धांत रूप में एक ही उपयोग के मामलों को कवर करने का दावा करते हैं।
मुझे लगता है कि उपरोक्त कुछ उत्तर अब थोड़ा पुराने हैं। अपने दृष्टिकोण से, और मैं सोलर (क्लाउड और गैर-क्लाउड) और इलास्टिक खोज दोनों के साथ दैनिक आधार पर काम करता हूं, यहां कुछ दिलचस्प अंतर हैं:
Solr बनाम ElasticSearch के अधिक गहन कवरेज के लिए https://sematext.com/blog/solr-vs-elasticsearch-part-1-overview/ पर एक नज़र डालें । यह सेमाटेक्स्ट से डायरेक्ट और न्यूट्रल सोल बनाम बनाम इलास्टिक सर्च की तुलना में पोस्ट की श्रृंखला की पहली पोस्ट है। प्रकटीकरण: मैं सेमटैक्स पर काम करता हूं।
मैं देखता हूं कि यहां बहुत से लोगों ने इस इलास्टिक खोज बनाम सोलर सवाल का जवाब दिया है जो सुविधाओं और कार्यक्षमता के मामले में हैं, लेकिन मैं प्रदर्शन के संदर्भ में उनकी तुलना में (या कहीं और) बहुत चर्चा नहीं करता।
इसीलिए मैंने अपनी जांच कराने का फैसला किया । मैंने पहले से ही कोडेड हेटेरोजेनस डेटा सोर्स माइक्रो-सर्विस लिया जो पहले से ही शब्द खोज के लिए सोल का इस्तेमाल करता था। मैंने ElasticSearch के लिए Solr को बंद कर दिया, फिर मैंने AWS पर दोनों संस्करणों को पहले से ही कोडित लोड परीक्षण एप्लिकेशन के साथ चलाया और बाद के विश्लेषण के लिए प्रदर्शन मैट्रिक्स पर कब्जा कर लिया।
जो मुझे मिला वह यहां है। जब यह अनुक्रमण दस्तावेजों में आया तो इलास्टिकसर्च में 13% अधिक थ्रूपुट था, लेकिन सोलर दस गुना तेज था। जब यह दस्तावेजों के लिए क्वेरी करने की बात आई, तो सोल्र के पास पांच गुना अधिक थ्रूपुट था और इलास्टिक खोज की तुलना में पांच गुना तेज था।
अपाचे सोलर के लंबे इतिहास के बाद से, मुझे लगता है कि सोलर की एक ताकत इसकी पारिस्थितिकी तंत्र है । विभिन्न प्रकार के डेटा और उद्देश्यों के लिए कई सोलर प्लग हैं।
निम्नलिखित परतों में नीचे से ऊपर तक प्लेटफ़ॉर्म खोजें:
संदर्भ लेख: उद्यम खोज
मैंने इलास्टिसर्च और सोलर और स्पंक के बीच प्रमुख अंतर की एक तालिका बनाई है, आप इसे 2016 अपडेट के रूप में उपयोग कर सकते हैं:
मैं .net अनुप्रयोगों के लिए सोलर और इलास्टिक सर्च दोनों पर काम कर रहा हूं। प्रमुख अंतर जो मैंने सामना किया है
लोचदार खोज:
सोलर:
जबकि उपरोक्त सभी लिंक में योग्यता है, और पिछले 15 वर्षों में विभिन्न ल्यूसिन खोज इंजनों के लिए "उजागर" के रूप में अतीत में मुझे बहुत फायदा हुआ है, मेरा कहना है कि पाइथन में लोचदार-खोज विकास बहुत तेज है। यह कहा जा रहा है, कुछ कोड मुझे गैर-सहज महसूस हुए। इसलिए, मैं एक खुले स्रोत के नजरिए से ईएलके स्टैक, किबाना के एक घटक तक पहुंच गया, और मैंने पाया कि मैं किबाना में कुछ आसानी से इलास्टिक्स खोज के कुछ क्रिप्टो कोड उत्पन्न कर सकता हूं। इसके अलावा, मैं Kibana में भी Chrome Sense es क्वेरी खींच सकता हूं। यदि आप किबाना का उपयोग मूल्यांकन करने के लिए करते हैं, तो यह आपके मूल्यांकन को और तेज़ करेगा। अन्य प्लेटफार्मों पर चलाने के लिए घंटों लग गए और कुछ ही मिनटों में सबसे खराब (सबसे बड़े डेटा सेट) में इलास्टिक्सर्च (रेस्टफुल इंटरफ़ेस) के शीर्ष पर जेन्सन में चल रहा था; सेकंड में सबसे अच्छा। इलास्टिसर्च के लिए प्रलेखन, जबकि 700+ पृष्ठों, ने उन सवालों के जवाब नहीं दिए जो मेरे पास थे कि आम तौर पर एसओएलआर या अन्य ल्यूसीन प्रलेखन में हल किया जाएगा, जो स्पष्ट रूप से विश्लेषण के लिए अधिक समय लेता था। इसके अलावा, आप लोचदार-खोज में एग्रीगेट्स पर एक नज़र डालना चाहते हैं, जिन्होंने फेसिंग को एक नए स्तर पर ले लिया है।
बड़ी तस्वीर: यदि आप डेटा साइंस, टेक्स्ट एनालिटिक्स, या कम्प्यूटेशनल भाषा विज्ञान कर रहे हैं, तो इलास्टिक्स में कुछ रैंकिंग एल्गोरिदम हैं जो सूचना पुनर्प्राप्ति क्षेत्र में अच्छी तरह से नवाचार करते हैं। यदि आप किसी भी TF / IDF एल्गोरिदम, पाठ आवृत्ति / व्युत्क्रम दस्तावेज़ आवृत्ति का उपयोग कर रहे हैं, तो elasticsearch इस 1960 के एल्गोरिथ्म को एक नए स्तर तक बढ़ाता है, यहां तक कि BM25, सर्वश्रेष्ठ मिलान 25 और अन्य प्रासंगिक रैंकिंग एल्गोरिदम का उपयोग भी करता है। इसलिए, यदि आप शब्दों, वाक्यांशों या वाक्यों को स्कोर कर रहे हैं या रैंकिंग कर रहे हैं, तो इलास्टिक्सर्च यह स्कोरिंग मक्खी पर करता है, बिना अन्य डेटा एनालिटिक्स के बड़े ओवरहेड के, जो घंटों लगते हैं - एक और इलास्टिक्सर्च समय की बचत। Es के साथ, वास्तविक समय JSON डेटा प्रासंगिकता स्कोरिंग और रैंकिंग के साथ एकत्रीकरण से बकेटिंग की कुछ शक्तियों को मिलाकर, आप एक विजेता संयोजन पा सकते हैं,
नोट: उपरोक्त एकत्रीकरण पर एक समान चर्चा देखी, लेकिन एकत्रीकरण और प्रासंगिकता स्कोरिंग पर नहीं - किसी भी ओवरलैप के लिए मेरी माफी। प्रकटीकरण: मैं लोचदार के लिए काम नहीं करता और निकट भविष्य में एक अलग वास्तुशिल्प मार्ग के कारण उनके उत्कृष्ट कार्य से लाभ नहीं उठा पाऊंगा, जब तक कि मैं इलास्टिक्स खोज के साथ कुछ दान कार्य नहीं करता, जो एक बुरा विचार नहीं होगा
उपयोग के मामले की कल्पना करें:
प्रत्येक सूचकांक में व्यक्तिगत ईएस उदाहरण होने का विचार - इस मामले में बहुत बड़ा है।
मेरे अनुभव के आधार पर, इस तरह के उपयोग का मामला एलिस्टिक्स खोज के साथ समर्थन करने के लिए बहुत जटिल है।
क्यों?
प्रथम।
मुख्य समस्या मूलभूत बैक कम्पेटिबिलिटी की अवहेलना है।
ब्रेकिंग परिवर्तन बहुत अच्छे हैं! (नोट: SQL- सर्वर की कल्पना करें जिसे अपग्रेड करते समय आपको अपने सभी SQL- स्टेटमेंट्स में छोटे बदलाव करने की आवश्यकता होती है ... इसकी कल्पना नहीं कर सकते। लेकिन ES के लिए यह सामान्य है)
अगले प्रमुख रिलीज में गिराए गए पदावनति कितनी सेक्सी हैं! (नोट: आप जानते हैं, जावा में कुछ अवक्षेप हैं, जो 20+ वर्ष पुराने हैं, लेकिन अभी भी वास्तविक जावा संस्करण में काम कर रहे हैं ...)
और इतना ही नहीं, कभी-कभी आपके पास कुछ ऐसा भी होता है, जो कहीं भी प्रलेखित नहीं होता है (व्यक्तिगत रूप से केवल एक बार भर में आया था ...)
इसलिए। यदि आप ईएस को अपग्रेड करना चाहते हैं (क्योंकि आपको कुछ ऐप के लिए नए फीचर्स की आवश्यकता है या आप बग फिक्स करना चाहते हैं) - आप नरक में हैं। खासकर अगर यह प्रमुख संस्करण उन्नयन के बारे में है।
क्लाइंट API संगत नहीं होगा। अनुक्रमणिका सेटिंग्स संगत वापस नहीं होगी। और ईएस अपग्रेड के साथ एक ही पल में सभी ऐप / सेवाओं को अपग्रेड करना यथार्थवादी नहीं है।
लेकिन आपको इसे समय-समय पर करना चाहिए। कोई और तरीका नहीं।
मौजूदा अनुक्रमित स्वचालित रूप से उन्नत है? - हाँ। लेकिन यह आपकी मदद नहीं करता है जब आपको कुछ पुराने-सूचकांक सेटिंग्स बदलने की आवश्यकता होगी।
उस के साथ रहने के लिए, आपको लगातार बहुत अधिक शक्ति का निवेश करने की आवश्यकता है ... ईएस के भविष्य के रिलीज के साथ आप ऐप्स / सेवाओं की आगे संगतता। या आपको ऐप / सेवाओं और ईएस के बीच किसी तरह के मिडलवेयर का निर्माण (और वैसे भी लगातार समर्थन) करने की आवश्यकता है, जो आपको संगत क्लाइंट एपीआई प्रदान करते हैं। (और, आप ट्रांसपोर्ट क्लाइंट का उपयोग नहीं कर सकते हैं (क्योंकि यह हर छोटे संस्करण ES अपग्रेड के लिए जार अपग्रेड आवश्यक है), और यह तथ्य आपके जीवन को नहीं बनाते हैं)
क्या यह सरल और सस्ता है? नहीं यह नहीं। इससे दूर। जटिल बुनियादी ढांचे का निरंतर रखरखाव जो ईएस पर आधारित है, सभी संभव इंद्रियों में महंगा करने का तरीका है।
दूसरा। सरल एपीआई? खैर ... वास्तव में नहीं। जब आप वास्तव में जटिल परिस्थितियों और एकत्रीकरण का उपयोग कर रहे हैं .... JSON-5 नेस्टेड स्तरों के साथ अनुरोध जो भी हो, लेकिन सरल नहीं है।
दुर्भाग्य से, मुझे एसओएलआर के साथ कोई अनुभव नहीं है, इसके बारे में कुछ नहीं कह सकता।
लेकिन Sphinxsearch इस परिदृश्य में बेहतर है, पूरी तरह से संगत SphinxQL के कारण।
नोट: Sphinxsearch / Manticore वास्तव में दिलचस्प हैं। यह ल्यूसिन आधारित नहीं है, और परिणामस्वरूप गंभीरता से अलग है। बॉक्स से कई अनूठी विशेषताओं को शामिल करें, जो ES नहीं है और छोटे / मध्यम आकार के अनुक्रमित के साथ तेजी से पागल है।
यदि आप पहले से ही एसओएलआर का उपयोग कर रहे हैं, तो उससे चिपके रहें। यदि आप शुरू कर रहे हैं, तो लोचदार खोज के लिए जाएं।
SOLR में अधिकतम प्रमुख मुद्दे तय किए गए हैं और यह काफी परिपक्व है।
मैंने लगभग एक महीने के लिए 3 साल और सोलर के लिए एलीस्टेकर्च का उपयोग किया है, मुझे लगता है कि सोलर इंस्टॉलेशन की तुलना में इलास्टिक्सखोज क्लस्टर स्थापित करना काफी आसान है। इलास्टिसर्च में बहुत स्पष्टीकरण के साथ मदद दस्तावेजों का एक पूल है। उपयोग के मामले में से एक मैं हिस्टोग्राम एकत्रीकरण के साथ अटक गया था जो ईएस में उपलब्ध था, हालांकि सोलर में नहीं पाया गया था।
मैं केवल लोचदार-खोज का उपयोग करता हूं। चूंकि मुझे मिला सॉल शुरू करने के लिए बहुत कठिन है। लोचदार-खोज की विशेषताएं: