स्टैंड-अलोन फुल-टेक्स्ट सर्च सर्वर चुनना: स्फिंक्स या एसओएलआर? [बन्द है]


192

मैं निम्नलिखित गुणों के साथ एक स्टैंड-अलोन पूर्ण-पाठ खोज सर्वर की तलाश कर रहा हूं:

  • एक स्टैंड-अलोन सर्वर के रूप में काम करना चाहिए जो कई क्लाइंट से खोज अनुरोधों को पूरा कर सकता है
  • SQL क्वेरी के परिणाम को अनुक्रमित करके "बल्क इंडेक्सिंग" करने में सक्षम होना चाहिए: "SEL id, text_to_index FROM document;"
  • फ्री सॉफ्टवेयर होना चाहिए और डेटाबेस के रूप में MySQL के साथ लिनक्स पर चलना चाहिए
  • तेज़ होना चाहिए (MySQL के आंतरिक पूर्ण-पाठ खोज के नियम)

मैंने पाया है कि ये गुण हैं:

  • सोलर (ल्यूसीन पर आधारित)
  • इलास्टिकसर्च (ल्यूसीन पर आधारित)
  • गूढ़ व्यक्ति

मेरे सवाल:

  • वे कैसे तुलना करते हैं?
  • क्या मैंने कोई विकल्प नहीं छोड़ा है?
  • मुझे पता है कि प्रत्येक उपयोग का मामला अलग है, लेकिन क्या कुछ ऐसे मामले हैं जहां मैं निश्चित रूप से एक निश्चित पैकेज का उपयोग नहीं करना चाहूंगा ?

1
क्या आपने सीधे ल्यूसिन का उपयोग करके शासन किया है? सोलर ल्यूसिन के शीर्ष पर एक सेवा है, इसलिए सीधे ल्यूसीन एक संभावना हो सकती है।
डेव

क्या ल्यूसीन के पास एक स्टैंड-अलोन सर्वर मोड है? मुझे लगा कि एसओएलआर ने जो चीजें जोड़ी हैं उनमें से एक है? मैंने कुछ भी खारिज नहीं किया है - इसलिए ल्यूसीन की वकालत करने के लिए स्वतंत्र महसूस करें अगर वह आवश्यकताओं को देखते हुए सबसे अच्छा विकल्प है :-)
knorv

मूस: मुख्य रूप से जावा लेकिन अन्य भाषाओं में भी।
knorv

व्यक्तिगत रूप से मुझे स्फिंक्स पसंद है। हालांकि, हाल ही में एक "बड़े" प्रोजेक्ट के दौरान, बहु-मूल्य सरणियों (एमवीए) का उपयोग करते समय नवीनतम रिलीज़ उम्मीदवार (0.9.9-आरसी 2) के पास स्टॉपर कीड़े थे। यह यादृच्छिक परिणाम होगा! इसलिए हम एसओएलआर के पास चले गए, क्योंकि यह चारों ओर है। एक बार SOLR उठ गया था और प्रदर्शन ठीक चल रहा था, और शो स्टॉपर बग के बिना।
pchap10k

2
क्या आपने elasticsearch.com को देखा है?
FYA

जवाबों:


327

मैं अब लगभग 2 वर्षों से सॉल का सफलतापूर्वक उपयोग कर रहा हूं, और स्फिंक्स का कभी उपयोग नहीं किया है, इसलिए मैं स्पष्ट रूप से पक्षपाती हूं। हालाँकि, मैं इसे डॉक्स या अन्य लोगों के हवाले से उद्देश्य रखने की कोशिश करूँगा। मैं भी अपने जवाब के लिए पैच ले जाऊंगा :-)

समानता:

  • सोलर और स्फिंक्स दोनों आपकी सभी आवश्यकताओं को पूरा करते हैं। वे तेज़ हैं और डेटा के बड़े निकायों को कुशलतापूर्वक अनुक्रमित और खोज करने के लिए डिज़ाइन किए गए हैं।
  • दोनों के पास उच्च-यातायात साइटों की एक लंबी सूची है जो उनका उपयोग कर रही है ( सोल्र , स्फिंक्स )
  • दोनों व्यावसायिक समर्थन प्रदान करते हैं। ( सोल्र , स्फिंक्स )
  • दोनों कई प्लेटफार्मों / भाषाओं ( Sphinx , Solr ) के लिए क्लाइंट API बाइंडिंग प्रदान करते हैं
  • दोनों को गति और क्षमता बढ़ाने के लिए वितरित किया जा सकता है ( स्फिंक्स , सोलर )

यहाँ कुछ अंतर हैं:

संबंधित सवाल:


4
सोल और ल्यूसिन दोनों के लिए प्रतिबद्ध देवों के बारे में, ऐसा लगता है कि उन्होंने दो उत्पादों को आगे के विकास को आसान और तेज बना दिया है - lucidimagination.com/blog/2010/03/03/26/…
jimmystormig

3
@ स्टैन: ऐसा कैसे? मैंने लगभग 5 साल पहले Solr का उपयोग किया है और मुझे Java की एक भी लाइन लिखने की आवश्यकता नहीं है।
मौरिसियो शेफ़र

@MauricioScheffer क्या आपको वास्तव में लगता है कि जावा कोड C ++ से तेज होगा। यहाँ तुलना विधेयक Karwin और स्फिंक्स द्वारा किए गए कुछ चीजें हैं Lucene से 10 गुना तेजी से प्रश्नों है (और Solr Have होगा भी धीमी गति से हो।) Slideshare.net/billkarwin/...
स्टैन

3
@ स्टैन: क्या आपको वास्तव में लगता है कि आपको व्हाइटहाउस की तुलना में अधिक प्रदर्शन की आवश्यकता है। एनजीएफ, नेटफ्लिक्स, द गार्जियन, डिग, बस कुछ वेबसाइटों का नाम सोलर का उपयोग करना है? wiki.apache.org/solr/PublicServers
मौरिसियो शेफ़र

3
यहाँ Sphinx पर एक उत्तर है जो सोलर पर इस उत्तर के लिए एक अच्छी जोड़ी है
New Alexandria

48

जब तक आपको किसी भी मालिकाना तरीके से खोज की कार्यक्षमता का विस्तार करने की आवश्यकता नहीं है, तब तक स्फिंक्स आपका सबसे अच्छा दांव है।

स्फिंक्स लाभ:

  1. विकास और सेटअप तेज है
  2. बहुत बेहतर (और तेज) एकत्रीकरण। यह हमारे लिए हत्यारा विशेषता थी।
  3. एक्सएमएल नहीं। यह वही है जो आखिरकार हमारे लिए सोल्र ने खारिज कर दिया। हमें बड़े परिणाम सेटों पर वापस लौटना पड़ा (सैकड़ों परिणामों के बारे में सोचें) और फिर उन्हें स्वयं एकत्र करें क्योंकि सोलर एकत्रीकरण की कमी थी। एक्सएमएल से और उसके लिए सीरियसली टाइम ऑफ बिलकुल मार डाला गया परफॉर्मेंस। हालांकि छोटे परिणाम सेट के लिए, यह पूरी तरह से ठीक था।
  4. सर्वश्रेष्ठ दस्तावेज़ मैंने एक ओपन सोर्स ऐप में देखा है

सोलर फायदे:

  1. बढ़ाया जा सकता है।
  2. इसे सीधे किसी वेब ऐप से हिट कर सकते हैं, यानी, आप स्वत: पूर्ण-जैसी खोजों को सीधे AJAX के माध्यम से सोल सर्वर पर हिट कर सकते हैं।

29
Solr में JSON, PHP, Ruby, Python और एक java बाइनरी प्रारूप सहित xml के अलावा कई प्रतिक्रिया लेखक हैं: lucene.apache.org/solr/api/org/apache/solr/request/…
मौरिसियो शेफ़र

24
क्या मैंने उल्लेख किया कि सोलर / ल्यूसीन दस्तावेज कितना भयानक है? कार्यक्षमता का पता लगाने के लिए Javadocs के माध्यम से रूट करना मेरे दस्तावेज़ का विचार नहीं है।
लार्फ ३११

3
मुझे विकि से लिंक करना चाहिए: wiki.apache.org/solr/…
मौरिसियो शेफ़र

2
मैं अपने मैक पर स्फिंक्स 0.9.9 के कुछ इंस्टॉलेशन बग को ठीक करने में पूरा दिन बिताता हूं। अभी तक यह अभी भी काम नहीं कर रहा है। यह बहुत छोटी गाड़ी है। मैंने बहुत तरीके सुझाए। मैं बहुत निराश हूँ ...
lkahtz

सोल का प्रलेखन स्फिंक्स जितना अच्छा नहीं है। लेकिन समुदाय बड़ा है। और मैं हमेशा सोल के स्रोत कोड को पढ़कर सब कुछ पता लगा सकता हूं।
टायलर लॉन्ग

21

नोट: कई उपयोगकर्ताओं के मन में एक ही सवाल है।

तो, बिंदु का जवाब देने के लिए:

कौन सा और क्यों?

  • यदि आप इसे अपने वेब-ऐप (उदाहरण-साइट खोज इंजन) में उपयोग करने का इरादा रखते हैं, तो Solr का उपयोग करें । यह निश्चित रूप से शानदार होगा, इसके एपीआई के लिए धन्यवाद। वेब-ऐप के लिए आपको निश्चित रूप से उस शक्ति की आवश्यकता होगी।

  • यदि आप दस्तावेजों / फाइलों के माध्यम से वास्तविक त्वरित खोज करना चाहते हैं तो स्फिंक्स का उपयोग करें । यह वास्तविक तेजी को भी अनुक्रमित करता है। मैं इसे एक ऐसे ऐप में उपयोग न करने की सलाह दूंगा जिसमें खोज परिणाम प्राप्त करने के लिए JSON या पार्सिंग XML शामिल हो। डायरेक्ट डीबी खोजों के लिए इसका उपयोग करें। यह MySQL पर बहुत अच्छा काम करता है।

वैकल्पिक

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


13
वह अजीब क्षण जब मैंने डेढ़ साल बाद यह उत्तर पढ़ा और उत्थान पर क्लिक किया और देखा कि मैंने यह उत्तर स्वयं लिखा है। जबरदस्त हंसी। : हालांकि इसके अलावा डीए छोटा है: 18 महीने के बाद, इलास्टिक्स खोज एक शानदार विकल्प बन गया है और एक सभ्य समुदाय भी है। कूल, बोन्साई कूल!
अगस्त्यन

ऑगस्टस! वह अजीब क्षण: डी। तो एक अजगर वेब-ऐप के लिए आपको क्या लगता है कि अब सबसे अच्छा है? किसी भी विचार को स्थापित करने के लिए प्रदर्शन, स्मृति उपयोग और सहजता के आधार पर सोलर या लोचदार खोज?
मेविन बाबू

इससे कोई फर्क नहीं पड़ता कि वेब ऐप किस भाषा में लिखा गया है। अपने उपयोग के मामले के आधार पर चुनें!
औगिअन

19

मैं अब लगभग एक साल से स्फिंक्स का उपयोग कर रहा हूं, और यह आश्चर्यजनक है। मैं अपने मैकबुक पर एक मिनट में लगभग 1.5 मिलियन दस्तावेज़ों को अनुक्रमित कर सकता हूं, और सर्वर पर भी तेज कर सकता हूं। मैं विशेष अक्षांश और देशांतर के भीतर स्थानों तक खोजों को सीमित करने के लिए स्फिंक्स का उपयोग कर रहा हूं, और यह बहुत तेज है। इसके अलावा, परिणाम कैसे रैंक किए जाते हैं यह बहुत ही सुगम है यदि आप एक ट्यूटोरियल या दो पढ़ते हैं, तो इंस्टॉल और सेटअप करना आसान है। लगभग 1.0 स्थिति, लेकिन उनके रिलीज कैंडिडेट्स ठोस थे।


3
भौगोलिक खोज सोल्सर में लोकलसोलर प्लगइन के साथ की जा सकती है: gissearch.com/localsolr
मौरिसियो शेफ़र

1
आप एक मिनट में डेढ़ लाख दस्तावेज़ INDEX कर सकते हैं? मैं अपने लगभग SSD पर 7zip (लेखन, कंसोल पर आउटपुट नहीं) से सीधे - कई को पढ़ाने के करीब नहीं आ सकता! और यह 2017 है! ये किस तरह के दस्तावेज हैं? यह बहुत अविश्वसनीय है। नोट: मुझे आशा है कि आपका मतलब एक मिनट में १.५ मिलियन के इंडेक्स को खोजना नहीं था । सूचकांक w / 1.5 मिलियन डॉक्स की खोज अभी भी सेकंड (2009 में भी) में वापस आनी चाहिए।
FastAl

2

ल्यूसिन / सोलर अधिक चित्रित और व्यापार में लंबे समय तक और अधिक मजबूत उपयोगकर्ता समुदाय के साथ दिखाई देता है। imho यदि आप प्रारंभिक सेटअप मुद्दों को पा सकते हैं जैसा कि कुछ का सामना करना पड़ा लगता है (हम नहीं) तो मैं कहूंगा कि ल्यूसिन / सोलर आपकी सबसे अच्छी शर्त है।


उपयोगकर्ता समुदाय एक महत्वपूर्ण बिंदु है। Sphinx फ़ोरम में VERY, VERY मददगार लोगों के एक जोड़े हैं, लेकिन अन्यथा एक मजबूत समुदाय नहीं है।
22
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.