यह प्रश्न सभी पहलुओं में उत्तर देने के लिए एक बहुत व्यापक उत्तर की मांग करता है। बहुत अच्छी तरह से कुछ विशिष्टताएं हैं जो एक विशेष उपयोग के मामले में एक प्रणाली को दूसरे से बेहतर बना सकती हैं, लेकिन मैं यहां मूल बातें शामिल करना चाहता हूं।
मैं कई खोज इंजनों के उदाहरण के रूप में सोलर के साथ पूरी तरह से निपटूंगा जो लगभग उसी तरह काम करते हैं।
मैं कुछ कठिन तथ्यों के साथ शुरुआत करना चाहता हूं:
-
आप एक सुरक्षित डेटाबेस के रूप में सोलर/ल्यूसीन पर भरोसा नहीं कर सकते हैं। तथ्यों की एक सूची है, लेकिन उनमें ज्यादातर लापता पुनर्प्राप्ति विकल्प, एसिड लेनदेन की कमी, संभावित जटिलताओं आदि शामिल हैं। यदि आप सोलर का उपयोग करने का निर्णय लेते हैं, तो आपको SQL तालिका जैसे किसी अन्य स्रोत से अपनी अनुक्रमणिका को पॉप्युलेट करने की आवश्यकता है। वास्तव में सोलर दस्तावेजों को संग्रहीत करने के लिए एकदम सही है जिसमें कई तालिकाओं और संबंधों से डेटा शामिल होता है, जो अन्यथा जटिल जोड़ों को बनाने के लिए आवश्यक होता है।
-
सोलर/लुसीन मन को उड़ाने वाले टेक्स्ट-विश्लेषण/स्टेमिंग/पूर्ण टेक्स्ट सर्च स्कोरिंग/फ़ज़ीनेस फ़ंक्शंस प्रदान करता है। चीजें जो आप MySQL के साथ नहीं कर सकते हैं। वास्तव में MySql में पूर्ण पाठ खोज MyIsam तक सीमित है और स्कोरिंग बहुत तुच्छ और सीमित है। भार क्षेत्र, कुछ मेट्रिक्स पर दस्तावेज़ों को बढ़ावा देना, वाक्यांश निकटता के आधार पर स्कोर परिणाम, मिलान सटीकता आदि लगभग असंभव के लिए बहुत कठिन काम है।
-
सोलर/लुसीन में आपके पास दस्तावेज हैं। आप वास्तव में संबंधों और प्रक्रिया को संग्रहीत नहीं कर सकते। ठीक है, आप निश्चित रूप से कुछ दस्तावेज़ों के बहु-मूल्यवान क्षेत्र के अंदर अन्य दस्तावेज़ों की कुंजियों को अनुक्रमित कर सकते हैं ताकि आप वास्तव में 1:n संबंधों को संग्रहीत कर सकें और इसे n:n प्राप्त करने के दोनों तरीकों से कर सकें, लेकिन इसका डेटा ओवरहेड। मुझे गलत मत समझो, यह बहुत सारे उद्देश्यों के लिए पूरी तरह से ठीक और कुशल है (उदाहरण के लिए कुछ उत्पाद कैटलॉग के लिए जहां आप उत्पादों के लिए वितरकों को स्टोर करना चाहते हैं और आप केवल कुछ हिस्सों को खोजना चाहते हैं जो कुछ वितरकों या कुछ पर उपलब्ध हैं)। लेकिन आप HAS / HAS NOT के साथ संभावनाओं के अंत तक पहुँच जाते हैं। आप "कम से कम 3 वितरकों पर उपलब्ध सभी उत्पाद प्राप्त करें" जैसा कुछ नहीं कर सकते हैं।
-
सोलर/ल्यूसीन में बहुत अच्छी पहलू सुविधाएं और खोज विश्लेषण पोस्ट हैं। उदाहरण के लिए:40000 हिट वाली एक बहुत व्यापक खोज के बाद, आप यह प्रदर्शित कर सकते हैं कि आपको केवल 3 हिट प्राप्त होंगी यदि आप अपनी खोज को इस फ़ील्ड के इस मान और उस फ़ील्ड को उस मान के संयोजन में परिशोधित करते हैं। MySQL में अतिरिक्त प्रश्नों की आवश्यकता वाली सामग्री को कुशलतापूर्वक और विश्वसनीय तरीके से किया जाता है।
तो आइए संक्षेप करें
-
ल्यूसीन की शक्ति पाठ खोज/विश्लेषण कर रही है। रिवर्स इंडेक्स स्ट्रक्चर की वजह से यह दिमागी रूप से तेज भी है। आप वास्तव में बहुत सारी पोस्ट प्रोसेसिंग कर सकते हैं और अन्य जरूरतों को पूरा कर सकते हैं। हालांकि यह दस्तावेज़ उन्मुख है और इसमें कोई "ग्राफ पूछताछ" नहीं है जैसे ट्रिपल स्टोर SPARQL के साथ करते हैं, मूल एन:एम संबंधों को स्टोर करना और क्वेरी करना संभव है। यदि आपका एप्लिकेशन टेक्स्ट खोज पर केंद्रित है, तो आपको निश्चित रूप से सोलर/ल्यूसीन के लिए जाना चाहिए, यदि आपके पास अच्छे कारण नहीं हैं, जैसे कि बहुत जटिल, बहु-आयामी श्रेणी फ़िल्टर क्वेरी, अन्यथा करने के लिए।
-
यदि आपके पास टेक्स्ट-सर्च नहीं है, बल्कि कुछ ऐसा है जहां आप कुछ इंगित कर सकते हैं और कुछ क्लिक कर सकते हैं लेकिन टेक्स्ट दर्ज नहीं कर सकते हैं, तो अच्छे पुराने रिलेशनल डेटाबेस शायद जाने का एक बेहतर तरीका है।