एपीआई बनाम अपाचे सोलर सर्च


34

मैं Drupal 6 में Apache Solr सर्च मॉड्यूल का उपयोग कर रहा हूं और एक Drupal 7 इंस्टॉल के लिए Search API देख रहा हूं । मैंने यहां कुछ चर्चा देखी है लेकिन मैं किसी एक या दूसरे को चुनने के कारणों की तलाश कर रहा हूं।

क्या एक को दूसरे के ऊपर चुनने का कारण है? यदि हां, तो क्यों या क्यों नहीं? मैंने सुना है कि खोज एपीआई के साथ जटिलता और / या प्रदर्शन के मुद्दे हो सकते हैं। क्या ये सच है?


मैं बहुभाषी खोज के लिए सोल का सुझाव नहीं दूंगा। निर्भर करता है कि खोज कितनी महत्वपूर्ण है बहुभाषी सोल खोज वास्तव में समय लेने वाली हो सकती है। सेटअप दर्दनाक हो सकता है। बहुभाषी खोज के लिए आपकी भाषा को सोल द्वारा समर्थित होना चाहिए। व्याकरणिक नियम हैं जिन्हें आपकी भाषा के लिए निर्धारित किया जाना है। इसके अलावा आपको जावा और सोल स्थापित करने की आवश्यकता है ताकि आप सस्ते साझा होस्टिंग का उपयोग न कर सकें। यदि आप एक खोज इंजन विकसित कर रहे हैं, तो आप इसका उपयोग करना चाह सकते हैं। यदि आप विकास संसाधनों की गणना कर रहे हैं तो Payd google साइट खोज एक बेहतर विकल्प हो सकता है! मैं यहां तक ​​कि जीएसटी मॉड्यूल के लिए सह-अनुचर हूं
ram4nd

ऐसा क्यों है? कोई बेंचमार्क?
जियोर्जियो79

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

खोज एपीआई की तुलना में मुझे अपाचे सोलर के लिए आने वाली चीजों में से एक बहु चयन फ़िल्टर खोज थी। खोज एपीआई के साथ यह असंभव लग रहा था। सोलर के पास यह विकल्प था।
user219492

मैं मल्टी-साइट समर्थन का उल्लेख करूँगा: SearchAPI में बहु-साइट समर्थन नहीं है (कई साइटों की सामग्री को संग्रहीत करने के लिए एक ही SOLR सूचकांक का उपयोग करके)। एक ही SOLR सूचकांक 2. फिल्टर में 1. सूचकांक कई sistes contentents किसी विशेष साइट 3. द्वारा परिणामों अन्य साइटों से परिणाम बाहर निकाल केवल स्थानीय साइट पर एक खोज करते हैं: Apachesolr, बजाय करने की अनुमति
thePanz

जवाबों:


19

2015 तक, हम खोज एपीआई बनाम अपाचे सोलर खोज मॉड्यूल की संख्या के साथ तुलना कर सकते हैं:

                   | Apache Solr Search  | Search API
Posted in:         | 2007                | 2010
Downloads:         | >2k                 | >20k
Reported installs: | >21k                | >64k
Total bugs:        | >1200               | >600
Active bugs:       | >200                | >170
Commits:           | >1.3k               | >1.5k

जो स्पष्ट विकल्प को इंगित करता है। खोज एपीआई को 3 साल बाद विकसित किया गया था और यह अपने प्रतिद्वंद्वी का लाभ उठाने में कामयाब रहा।

इसके अलावा, खोज एपीआई एक बहुत अलग और अधिक लचीला वास्तुकला प्रदान करता है और इसे अधिक सक्रिय रूप से बनाए रखा जा रहा है। क्या अधिक महत्वपूर्ण है, यह पहले से ही नवीनतम Drupal 8 और Solr 5.x के लिए समर्थन करता है जो Apachesolr के पास अभी तक नहीं है।

Search API ने नए सिरे से शुरुआत की और इसके कॉन्फ़िगरेशन में और अधिक लचीला है, जिसमें व्यू सपोर्ट भी शामिल है (Apachesolr के लिए आपको अतिरिक्त मॉड्यूल की आवश्यकता है)। बहुत सारे मॉड्यूल भी हैं जो इसकी कार्यक्षमता को बढ़ाते हैं।

दूसरा इन मॉड्यूलों की वास्तुकला में अंतर के कारण समुदाय द्वारा दो बार हल की जा रही कुछ समस्याओं से बचने के लिए, वर्तमान में इन दो परियोजनाओं के बीच कुछ संयुक्त प्रयास हैं:

  • Facet API (फ़िल्टर के रूप में भी जानते हैं) के माध्यम से पहलू ब्लॉक दिखाने का सामान्य तरीका बनाना ,
  • एक सामान्य स्कीमा और solrconfig.xml कॉन्फ़िगरेशन फ़ाइलें,
  • दोनों अनुरक्षकों ने एक साथ काम किया और अपाचे सोलर सर्च मॉड्यूल से कनेक्शन कक्षाओं को खोज एपीआई में स्थानांतरित कर दिया।

स्रोत: Drupal 8 में खोज एवं Solr के लिए Battleplan Acquia पर

ध्यान दें, एक ही वातावरण में दोनों मॉड्यूल का उपयोग करने की सलाह नहीं दी गई है।

मतभेदों के आगे के तकनीकी विश्लेषण के लिए, कृपया नीचे दिए गए विवरणों की जांच करें।

एपीआई खोजें

एपीआई अवलोकन:

  • आसानी से खोज बनाने के लिए रूपरेखा
  • डेटा स्रोतों और बैकएंड कार्यान्वयन से सार
  • एक्सटेंशन वाला बड़ा इकोसिस्टम, जैसे बैकएंड
  • पहलू एपीआई एकीकरण
  • भारी एपीआई इकाई पर आधारित है

    • मेटाडेटा प्रदान करता है
    • इंडेक्स और सर्वर कॉन्फ़िगरेशन के लिए उपयोग किया जाता है

एक्सटेंशन विशेषताएं:

  • खोज एपीआई स्वतः पूर्ण
  • संलग्नक
  • सहेजी गई खोजों
  • स्थान
  • सुंदर पहलू पथ
  • स्लाइडर (खोज API रेंज)
  • और बहुत सारे।

बुनियादी संरचना:

खोज एपीआई सोलर मॉड्यूल की बुनियादी संरचना

सूचकांक विशेषताएं:

  • विभिन्न डेटा स्रोत
  • एक डेटा स्रोत: संस्थाओं
  • एंटिटी एपीआई पर आधारित:

    • प्रत्येक संपत्ति अनुक्रमित की जा सकती है
    • संबंधित संस्थाओं के गुणों को अनुक्रमित किया जा सकता है

अपने सूचकांक - फ़ील्ड को कैसे कॉन्फ़िगर करें:

खोज एपीआई सोलर में अपने सूचकांक - फ़ील्ड को कैसे कॉन्फ़िगर करें

API दृश्य खोजें:

  • पूर्ण दृश्य समर्थन करते हैं
  • किसी इकाई की कोई भी संपत्ति प्रदर्शित करें
  • फ़िल्टर, तर्क या सॉर्ट के रूप में किसी भी अनुक्रमित फ़ील्ड का उपयोग करें
  • एंटिटी एपीआई के विचारों के एकीकरण के आधार पर अधिकांश कोड
  • डिफ़ॉल्ट रूप से: इकाई भार के माध्यम से प्राप्त डेटा

    • बायपास किया जा सकता है ("सर्वर से डेटा पुनर्प्राप्त करें" सर्वर में सेटिंग)
  • वैकल्पिक: API पृष्ठ खोजें

API रेसिपी खोजें:

  • इंडेक्स और सर्वर के लिए CRUD हुक
  • जोड़ने के लिए हुक

    • डाटा के स्रोत
    • बैकेंड
    • डेटा परिवर्तन
    • प्रोसेसर
  • वस्तुओं को अनुक्रमित करते समय हुक निकाल दिया गया

  • खोज निष्पादित करते समय हुक निकाल दिया गया

Apachesolr

एक्सटेंशन विशेषताएं:

  • अनुलग्नक (कोई मीडिया समर्थन नहीं, अन्य संस्थाओं के लिए अटैचमेंट के लिए कस्टम कोडिंग)
  • स्थान (Apachesolr geo, Apachesolr स्थान)

अपाचेसोलर रेसिपी:

  • ओपन सोर्स एंटरप्राइज सर्च प्लेटफॉर्म
  • अपाचे फाउंडेशन
  • पूर्ण-पाठ खोज, हाइलाइटिंग, मुखरित खोज, क्लस्टरिंग, समृद्ध दस्तावेज़ हैंडलिंग
  • वितरित
  • प्रतिकृति / स्केलेबल
  • जावा
  • XML और JSON में REST HTTP और उत्तर और कुछ अन्य
  • संबंध नहीं

स्रोत: एपीआई बनाम अपाचेसोल स्लाइड शो


यह भी देखें:


बहुत बढ़िया लिखने के लिए, धन्यवाद! प्रश्न 1: यह सलाह दी जाती है कि एक ही वातावरण में दोनों मॉड्यूल का उपयोग न करें? प्रश्न 2: क्या इस बिंदु पर मॉड्यूल के बीच प्रदर्शन अंतर नगण्य है (मैं समझता हूं कि खोज एपीआई w / सोलर अब कई क्षेत्रों को अनुक्रमित कर सकता है, इसलिए खोज परिणामों के साथ थंबनेल छवि प्रदर्शित करने के लिए इकाई भार की आवश्यकता नहीं है)?
जॉर्डन मैगनसन

@JordanMagnuson 1. आप एक ही समय में दोनों मॉड्यूल का उपयोग नहीं करते हैं, क्योंकि वे अधिक संगत नहीं हैं और अधिकांश वेबसाइटें केवल एक सोलर खोज उदाहरण के साथ काम कर रही हैं, इसलिए यह दोनों का उपयोग करने के लिए समझ में नहीं आता है, जब तक कि आप काम की नकल करने के लिए बुरा मत मानना। उदाहरण के लिए जब आपको कुछ खोज दृश्य बनाने की आवश्यकता होती है, तो दोनों मॉड्यूल दृश्य मॉड्यूल के साथ अलग एकीकरण प्रदान करते हैं, इसलिए आपको दो दृश्य बनाने की आवश्यकता होगी।
kenorb

@JordanMagnuson 2. मैं प्रदर्शन के बारे में निश्चित नहीं हूं, मेरे पास कभी कोई विशिष्ट नहीं था और शायद यह हर संस्करण को बदलता है (मैं काफी समय पहले अपाचेसोल का उपयोग कर रहा था)। यदि आप विचारों और पहलुओं का उपयोग कर रहे हैं, तो आप आमतौर पर दृश्य कैश तंत्र का उपयोग करते हैं, इसलिए आप प्रसंस्करण समय के बारे में बहुत अधिक ध्यान नहीं देते हैं और निश्चित रूप से मेमेकैड, एपीसी / एक्सचेचे आदि का प्रदर्शन करते हैं। प्रदर्शन वास्तव में साइट संरचना पर निर्भर करता है और मॉड्यूल प्रत्येक को कैसे इंटरैक्ट करते हैं अन्य।
kenorb

मजेदार यह है कि खोज एपीआई का अधिक उपयोग किया जाता है, फिर भी एक्वाकिया खुद Apache Solr मॉड्यूल docs.acquia.com/acquia-search/search-api#animated
AlxVallejo

@AlxVallejo मुझे लगता है कि वे इसे उत्पादन के लिए सलाह देते हैं, क्योंकि उनके पास एक्वायिया क्लाउड (साझा) सोलर इंस्टेंसेस (जो मुझे लगता है केवल एक ही कारण है) का समर्थन करने के लिए स्थिर और अच्छी तरह से लिखी गई अपाचसोल कॉन्फिग फाइल्स हैं (और यही कारण है कि खोज एपीआई सक्रिय रूप से विकास की स्थिति में है, और दिया है) इसलिए शामिल जोखिम में यह शामिल था कि कॉन्फिग फाइलों को अधिक बार अद्यतन करने की आवश्यकता होगी। उन्होंने इसे हमारी (बड़ी) परियोजना के लिए भी सुझाया, लेकिन थोड़ी देर के आसपास खेलने और अपनी आवश्यकताओं की जाँच करने के बाद, हमने उनकी सिफारिश को खोज एपीआई में बदल दिया। उनके पास स्थिर कॉन्फिग फाइल नहीं थी, हालांकि हमने अपना स्वयं का प्रावधान किया।
केनोरब

24

मैंने दोनों का उपयोग करने की कोशिश की है और मैं यह कह सकता हूं: यह आपकी स्थिति पर निर्भर करता है।

वर्तमान में, अपाचेसोल इंटीग्रेशन मॉड्यूल की स्थिर 7 रिलीज केवल नोड्स को इंडेक्स कर सकती है। तो अगर आप गैर-नोड संस्थाओं है कि आप सूचकांक करने की जरूरत है, तो आप अभी भी प्रगति में उपयोग करने के लिए multientity इसके लिए पैच। ApacheSolr एकीकरण ठीक से कॉन्फ़िगर किए जाने पर सामग्री के विभिन्न डेटा को संग्रहीत कर सकता है।

Search API इंडेक्स को लुभाता है और इसके लिए बहुत सारे अद्भुत सामान लिखे होते हैं। हालाँकि, खोज API केवल उस डेटा की आईडी प्राप्त करता है जिसे आप खोज रहे हैं। इसका मतलब यह है कि आईडी के अलावा किसी अन्य डेटा को लोड करने के लिए एक Unit_load की आवश्यकता होगी, आपके डेटाबेस को मारना होगा या जो भी कैशिंग परत आप डालेंगे। खोज-भारी साइटों के लिए, यह सबसे अनुकूलित समाधान नहीं हो सकता है।

यहां ApacheSolr इंटीग्रेशन मॉड्यूल, सर्च एपीआई के उल्लेख के लिए 16 मिनट के बारे में ड्रुपाल्कन चिकको में एक शानदार प्रस्तुति दी गई है।


भयानक अवलोकन। बिल्कुल वही जो मैं जानना चाहता था। धन्यवाद!
hross

यदि यह आपके प्रश्न का सफलतापूर्वक उत्तर देता है तो क्या आप इसे उत्तर के रूप में चिह्नित कर सकते हैं? धन्यवाद!
एलएसयू_जोबा

1
आप में से जो लोग आश्चर्यचकित हैं, उनके लिए बहुतायत अब अपाचे सोल एकीकरण की देव शाखा में है, इसलिए इसे अगले बीटा के साथ बाहर होना चाहिए।
एलएसयू_बसॉक

2
इस थ्रेड को पढ़ने वालों के लिए .. प्रदर्शन पर एक शमन कारक है खोज एपीआई अब नोड डेटा के अनुक्रमण और पुनर्प्राप्ति की अनुमति देता है। यहां एक प्रदर्शन चर्चा है
hross

1
यह उत्तर पुराना है, drupal.org/node/1999392 पर एक नज़र डालें। search_api_solr में अब मल्टीसाइट विकल्प हैं, जो न केवल एनआईडी की वापसी की अनुमति देता है। 2014 में apacheolr के D7 के उपयोग को पछाड़कर search_api_solr के इंस्टॉल बेस में भारी वृद्धि।
डंकनमो

2

मुझे लगता है कि आपको वास्तव में दोनों का प्रयास करना होगा और एक सूचित निर्णय लेना होगा। लेकिन दृढ़ता से विचार करें कि Apachesolr में अभी भी Drupal 8 के लिए बीटा नहीं है।

Search API में आप समान SearchAPI इंडेक्स पर संस्थाओं को संयोजित नहीं कर सकते हैं। इसलिए प्रोफाइल, यूजर्स, नोड्स अलग-अलग इंडेक्स पर हैं। मल्टीइंडेक्स खोजों की अनुमति देने के लिए एक मॉड्यूल है, यह मेरी जरूरतों को कवर नहीं करता है, लेकिन वाईएमएमवी। यदि आपके पास एक ही सूचकांक पर कई सामग्री प्रकार और कई फ़ील्ड हैं, तो सूचकांक परिभाषा काफी हद तक अनजाने में बन सकती है। (NB SearchAPI D8 मल्टी इंडेक्स खोज का समर्थन करने के लिए रिपोर्ट)

Apachesolr प्रति सामग्री के आधार पर फ़ील्ड के संपादन की अनुमति देता है जो आसान हो सकता है, लेकिन दस्तावेज़ में संबंधित सामग्री जोड़ने की क्षमता नहीं है, वास्तव में फ़ील्ड संग्रह, संदर्भ और कुछ अन्य से जानकारी शामिल करने के लिए कुछ कस्टम कोड लिखने की अपेक्षा की जाती है खेत। Apachesolr D7 ajax का समर्थन नहीं करता है, जब तक कि आप विचारों का उपयोग नहीं करते हैं, लेकिन उन विचारों का उपयोग करने से आप हार जाते हैं। उस ने कहा ... यदि आप हुक में खुश कोडिंग कर रहे हैं तो सूचकांक में संग्रहीत जानकारी को संशोधित करना काफी आसान है।

इकाई आईडी की खोज करने और फिर हर एक को व्यक्तिगत रूप से प्रस्तुत करने (दोनों मॉड्यूल द्वारा इस्तेमाल किया जा सकता है) का विचार एक प्रदर्शन दुःस्वप्न प्रतीत होगा, लेकिन, यदि आप अपनी इकाई को कैश करते हैं तो यह प्रदर्शित करता है कि यह सोलर प्रतिक्रिया से प्रदान करने से अधिक कुशल हो सकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.