मैंने elasticsearch और Solr के लिए स्केलेबिलिटी, गति और तैनाती परिदृश्य की तुलना में कई प्रश्न (और अच्छे उत्तरों) देखे हैं, लेकिन मुझे किसी भी अंतर के बारे में अच्छी जानकारी नहीं मिल रही है या अनुक्रमित डेटा के साथ कैसे काम करने में सक्षम हैं की सापेक्ष शक्तियां।डेटा संरचना/क्वेरी सुविधाओं के बारे में elasticsearch बनाम solr
विशेष रूप से, मैं निम्नलिखित क्षेत्रों में elasticsearch और Solr के बीच मतभेद में दिलचस्पी रखता हूँ:
faceting क्षमताओं: कैसे करना faceting के अपने को संभालने भिन्न होते हैं, या वे मूलतः एक ही कर रहे हैं?
स्कीमा से निपटने: लगता है कि elasticsearch कि स्कीमा में एक लचीलापन धार, बाकी एपीआई के माध्यम से उड़ान भरने पर परिभाषित किया जा सकता है जबकि Solr उन्हें आवश्यकता के लिए जा schemas.xml में पूर्व-निर्धारित (मैंने नहीं देखा है हालांकि, इस अंतर की विशिष्ट पुष्टि)। क्या इसके अलावा स्कीमा का उपयोग कैसे किया जाता है, इसमें काफी अंतर हैं?
इंडेक्सिंग फ़िल्टर: क्या विशिष्ट खोजों के लिए डेटा को अनुकूलित किया जा सकता है के बीच अंतर है? जैसे मैंने सोलर के लिए फ़ील्ड डुप्लिकेशन और क्वेरी टोकननाइजेशन फ़िल्टर जैसी चीजों का उल्लेख देखा है जो खोज एल्गोरिदम की अनुकूलता में जोड़ते हैं, लेकिन लोचदार खोज के संबंध में समान प्रकार की अधिक जानकारी नहीं देखी है, लेकिन हो सकता है कि यह केवल इन सभी सामानों को स्वचालित रूप से संभाल लें?
क्वेरी व्यक्तित्व: क्या क्वेरी डीएसएल मूल रूप से एक दूसरे के रूप में अभिव्यक्तिपूर्ण है, या मौलिक मतभेद हैं?
"बूस्टिंग" और/या परिणाम अनुकूलन: हार्डकोडिंग या एल्गोरिदमिक खोज परिणामों को मालिश करने के लिए क्या सुविधाएं हैं?
फिर से, कृपया ध्यान दें कि मैं बिल्कुल भी गति/scalbility/performace मुद्दों में कोई दिलचस्पी नहीं है, बस खोज डेटा संरचना और क्वेरी भाषा का expressivity - संभवत: इस पूरे प्रश्न के रूप में संक्षेप किया जा सकता है: क्या कोई ऐसी खोज है जो मैं कर सकता हूं या डेटा संरचना जो मैं लोचदार खोज में बना सकता हूं जिसे मैं सोलर में दोहराना नहीं कर सकता, या इसके विपरीत? कि ते छोड़कर गतिशील स्क्रिप्ट के माध्यम से भी यह अनुमति देता है और Solr पहलू पृष्ठांकन की अनुमति देता है
re # 5: मैंने कहीं पढ़ा है कि सोलर में आप खोज एल्गोरिदम के चारों ओर एक अंत-दौड़ कर सकते हैं, यानी आप वेटिंग शब्द को बदलने के बिना कुछ हद तक खोज परिणामों को "ठीक" कर सकते हैं। तो, उदाहरण के लिए, आप कह सकते हैं कि जब भी क्वेरी में एक विशिष्ट शब्द होता है, तो आप एक निश्चित दस्तावेज़ को पहला परिणाम चाहते थे, भले ही खोज एल्गोरिदम सामान्य रूप से उस दस्तावेज़ को वापस नहीं करेगा। हालांकि, मुझे वास्तव में यह पूरा करने के बारे में जानकारी कभी नहीं मिली, हालांकि। –
हम्म, इसके बारे में निश्चित नहीं है। लेकिन इंडेक्सिंग और पूछताछ के दौरान सामान्य रूप से बढ़ाना किया जा सकता है। क्या आपका यह मतलब है? उदाहरण देखें ईएस चर्चा में यह नवीनतम प्रविष्टि: http://groups.google.com/group/elasticsearch/browse_thread/thread/f9d0ebdd0225243c# – Karussell
और यहां एक सोलर दस्तावेज़ है http://wiki.apache.org/solr/FunctionQuery btw: में ईएस स्क्रिप्टिंग कार्यक्षमता बढ़ाने के लिए अधिक उन्नत आईएमओ है: http://www.elasticsearch.org/guide/reference/query-dsl/custom-score-query.html – Karussell