أفضل مقارنة بين منصات البحث مفتوحة المصدر
ELASTICSEARCH مقابل SOLR مقابل SPHINX

[محدث في 2020]
من منظور الأعمال التجارية ، يجب أن تعتبر محرك البحث الفعال أداة قوية قادرة على زيادة معدل التحويل وتحقيق المزيد من الأرباح لأصحاب مواقع الويب. إذا كانت آلية البحث في موقع الويب الخاص بك لا تقدم نتائج ذات صلة أو كان أداء البحث منخفضًا جدًا ، فسيترك الأشخاص موقع الويب ويذهبون إلى منافسه.
إذن ، ما هو محرك البحث الفعال؟
الهدف الأساسي من البحث هو استرداد المطابقات الأكثر صلة باستعلامات المستخدم ، باستثناء المحتوى العام الآخر من موقع الويب.
من بين الميزات التي يمكنك الحصول عليها من محركات البحث الحديثة ، أشهرها:
- البحث عن نص كامل (بكلمات وعبارات بسيطة أو أشكال متعددة للكلمة أو العبارة)
- بحث متعدد المجالات
- إبراز (إشارة مرئية للكلمات المدخلة في مربع البحث)
- البحث عن طريق المرادفات
- اقتراحات الإكمال التلقائي

[اقتراحات وتسليط الضوء على بلومبرج ]
- البحث ذو الأوجه (عدد السمات. على سبيل المثال ، تستخدم مواقع التجارة الإلكترونية الواجهات لإخبار العملاء بعدد العناصر التي تم العثور عليها لنموذج معين ، وحجم ولون وسمات أخرى)

[بحث متعدد الأوجه على Boohoo ]
- بحث غامض (أخطاء إملائية ، أخطاء إملائية)
- تصحيحات إملائية
- البحث الجغرافي المكاني (عن موقع الكائن حسب خط الطول والعرض)

[البحث الجغرافي المكاني على TripAdvisor ]
يجب أن يكون النظام قادرًا على تضييق نطاق البحث باستخدام النطاقات (السعر والتواريخ والأحجام وما إلى ذلك) والفرز (حسب الشعبية والتاريخ والسعر) والتصفية (بما في ذلك المعلمات المرغوبة فقط).
عندما نتحدث عن تطبيقات الويب حيث تتغير المعلومات ديناميكيًا (الأسعار وتفاصيل الوصف وتوافر البضائع) ، فمن المهم للغاية أن يكون لديك تحديثات شبه فورية ؛ على سبيل المثال ، في التجارة الإلكترونية أو محركات الحجز لإظهار السلع والخدمات المتوفرة في المخزون.
بصرف النظر عن الميزات العامة المذكورة أعلاه ، يمكن للمحركات تقديم توصيات عند البحث عن المنتجات أو المعلومات الأكثر إثارة للاهتمام ، لتحسين تجربة المستخدم.

[توصيات من أمازون ]
أي تقنية تختار؟
يوجد حوالي 20 محرك بحث للاختيار من بينها ، ولكن إذا كنت تبحث عن حل موثوق وفعال لتطبيق الويب الخاص بك ، فنحن نود أن نوصي بأحد الثلاثة التالية: Elasticsearch أو Solr أو Sphinx - الموجودة في الأعلى لعام 2020.
الثلاثة كلها حلول بحث مفتوحة المصدر ، مدعومة جيدًا من قبل مجتمعات المساهمين. يمكنهم جميعًا التباهي بالأداء العالي وقابلية التوسع والمرونة ، على الرغم من أنهم لا يزالون يتمتعون بخصائصهم المميزة.

لن نجري مقارنات مثل Sphinx vs Solr ، أو Solr vs Sphinx ، أو Sphinx vs Elasticsearch لأنهم جميعًا منافسون لائقون ، مع أداء متساوٍ تقريبًا وقابلية للتطوير وميزات. لكن لكل منها خصائص معينة يمكن أن تكون مؤثرة في مشروعك. الآن ، دعنا نلقي نظرة على الخيار الذي يمكن أن يكون أفضل لعملك.

يثبت Elasticsearch ، الرائد المطلق في تصنيفات محرك البحث لعام 2020 ، اسمه لكونه "مرنًا" حقًا من خلال قدرته على العمل في أي بيئة. إنها تقنية مفتوحة المصدر وتستخدم مكتبة Apache Lucene.
تستخدم العديد من الشركات المعروفة عالميًا Elastic لتطبيقاتها. هنا يمكنك أن تجد أسماء مثل موقع TripAdvisor ، Shopify ، موزيلا ، شخصيات قصص الابطال الخارقين ، و Etsy ، جيثب ، SoundCloud لل ، موقع ئي باي ، الصرخة ، و نيتفليكس ، وغيرها.
نقاط القوة في ELASTICSEARCH
1. شبه الفهرسة في الوقت الحقيقي
Elasticsearch قادر على فهرسة البيانات المتغيرة بسرعة على الفور تقريبًا ( في أقل من ثانية واحدة ). من المناسب استخدامه في المشاريع حيث يتم تحديث قاعدة البيانات باستمرار.
على سبيل المثال ، في Uber ، تجمع Elasticsearch مقاييس الأعمال على التسعير الديناميكي (المفاجئ) وتحديد موضع العرض ، في الوقت الفعلي. إنه قادر على التعامل مع أكثر من 1000 استفسار في الثانية في وقت الذروة.
2. قابلية عالية للتوسع
عندما تنمو قاعدة البيانات ، يصبح البحث عنها أكثر صعوبة. ولكن يرتفع Elasticsearch بينما تزداد قاعدة البيانات لديك ، وبالتالي لا تتباطأ سرعة البحث.
توفر Expedia ، وهي واحدة من أكبر شركات تجميع تذاكر الطيران والفنادق ، البحث عن ما يصل إلى 1 تيرابايت يوميًا مع 300 ألف حدث في الثانية. بمساعدة Elasticsearch ، تمكنوا من تحسين تجربة الحجز لعملائهم.
3. التخزين
يمكن استخدام ES ليس فقط كمفهرس ولكن أيضًا كمخزن للبيانات. ومع ذلك ، لا نوصي باستخدامه كوحدة تخزين أساسية ، وما زلنا نحتفظ بالبيانات في قاعدة البيانات الرئيسية لتحسين الأمان والموثوقية ، باستخدام ES فقط لفهرسة البيانات وتخزين السجلات.
على سبيل المثال ، Florida.com ، أحد عملائنا والتطبيق الذي يجمع جميع المعلومات حول منتجعات فلوريدا ، ويدعم قاعدة بيانات ضخمة للفنادق والمطاعم والأحداث والمعالم السياحية والرياضات والصفقات ، إلخ. باستخدام Elasticsearch ، البيانات المخزنة في قاعدة البيانات الخاصة بنا تتم فهرستها بسرعة وتصبح قابلة للبحث من قبل المستخدمين على الفور.

4. تصور البيانات
هذه واحدة من الميزات العصرية اليوم والتي يتم تنفيذها بشكل مثالي في ES. يعد Elastic Stack (مزيج من المكونات الإضافية ES و Logstash و Kibana ) أداة رائعة للتحليلات. يسمح بمراقبة حركة المرور على تطبيقك في الوقت الفعلي (العدد الإجمالي للزوار ، وعدد الزوار الفريدين ، وعناوين IP ، والاستعلامات الأكثر شيوعًا ، والصفحات المطلوبة ، والجهاز والمتصفحات المستخدمة ، وسجلات المرور بحلول الوقت من اليوم ، وغير ذلك الكثير ).
يتم عرض هذه المعلومات في الرسوم البيانية والخرائط والجداول الملونة في لوحة المعلومات. إنه مفيد جدًا للعمل مع الفرق الموزعة ، حيث يمكن للجميع الاطلاع على المعلومات المحدثة في وقت واحد ثم استخدام هذه البيانات للحصول على فهم أفضل لجمهورك وتحسين المحتوى وتجربة المستخدم لمنتجك.
بمساعدة ES ، حصلت The Guardian على نظام تحليلات قوي قادر على معالجة 40 مليون مستند يوميًا لإنشاء رؤية لكيفية استهلاك المحتوى.
في Netflix ، مع 8 ملايين حدث و 24 غيغابايت في الثانية خلال ساعات الذروة ، يتم استخدام ES للتحليلات في الوقت الفعلي للأحداث مثل أنشطة مشاهدة الفيديو وأنشطة واجهة المستخدم وسجلات الأخطاء والأداء وأحداث التشخيص وما إلى ذلك.

5. تحليلات الأمن
يعد Elastic Stack أيضًا أداة تحليلات أمان رائعة. تتيح لك تحليلات وتصور السجل في الوقت الفعلي تقريبًا تحديد التهديدات الأمنية (المشكلات المتعلقة بخادم الويب ، والروابط المعطلة ، ومحاولات الوصول غير المصرح به ، ومواقع الهجوم ، وما إلى ذلك). يمكنك معرفة المزيد من هذا الفيديو الرسمي Elastic.co .
بالانتقال إلى ES ، زادت Dell من أمانها من خلال ضمان وصول الأشخاص المصرح لهم فقط إلى المجموعة الخاصة بهم. كما خفضت Dell عدد خوادمها بنسبة 25-30٪.
6. تعلم الآلة
يمكن أن تستفيد Elasticsearch من ميزات Machine Learning التي يوفرها البرنامج الإضافي التجاري X-Pack . تركز خوارزميات التعلم الآلي على اكتشاف الانحرافات والكشف عن الانحرافات في بيانات السلاسل الزمنية.
7. AMAZON ELASTICSEARCH SERVICE
تتيح خدمة Amazon Elasticsearch Service الإعداد السريع والسهل وتشغيل Elasticsearch وقياسه في السحابة دون الحاجة إلى تكوين الخوادم الخاصة بك.
نقاط الضعف في ELASTICSEARCH
على الرغم من أن Elastic تحتل المرتبة الأولى حاليًا ، إلا أنها لا تزال تقنية حديثة. لا تخرج جميع الميزات المطلوبة من الصندوق ، ويجب إضافة العديد من خلال ملحقات مختلفة. على سبيل المثال ، لا يحتوي ES على "هل قصدت؟" خاصية.

Solr هو محرك بحث آخر يعتمد على Apache Lucene ، وبالتالي ، فإن له العديد من الميزات المشتركة مع Elasticsearch. لكن مع ذلك ، فهي مختلفة في الهندسة المعمارية.
ومن بين الشركات التي تستخدم المؤسسة العامة ل سي نت ، البحث في المدن ، بلومبرغ ، الماجنتو ، زابوس ، AOL ، إي تريد فاينانشال كورب ، ديزني ، شركة أبل ، NASA ، MTV ، وغيرها.
نقاط قوة SOLR
1. البحث الأوجه
تتمتع Solr بقدرات بحث رائعة ، مما يجعل هذا الحل مثاليًا لمواقع التجارة الإلكترونية مثل Zappos التي تستخدم Solr للبحث والتنقل عبر 150.000 نمط من الأحذية والمنتجات الأخرى.

[صورة من Zappos ]
2. مجموعة غنية من الميزات
يمكن أن يتباهى Solr بميزات بحث نص كامل ثرية خارج الصندوق قابلة للتكوين بدرجة عالية (حتى أكثر من Elasticsearch). تدعم Solr تطبيقات الاقتراح المختلفة ، ووظائف التمييز (إشارة مرئية للكلمات التي تم إدخالها في الحقل) والمدققات الإملائية / "هل تقصد؟" (وهي غائبة في ES).
في Greenice ، تعاملنا مع Solr أثناء العمل في مشروع للعميل الأسترالي. موقع الويب الخاص بهم مخصص لتبادل الخبرات بين رواد الأعمال الصغيرة. تشمل ميزات البحث التمييز والاقتراحات والفرز.

[صورة من SavvySME ]
3. مستندات المحتوى الغني
Solr هو أحد محركات البحث القليلة التي يمكنها قراءة مستندات المحتوى الغني ، بما في ذلك PDF أو Word أو XML أو النص العادي.
سيتناسب هذا تمامًا مع المشاريع التي توجد فيها ضرورة للبحث في كمية كبيرة من ملفات PDF أو Word داخل موقع ويب (بما في ذلك العقود والسير الذاتية والمواد التعليمية والكتب الإلكترونية وما إلى ذلك).
4. تصور البيانات
Banana هي أداة تصور ( شوكة Kibana ) تعمل مع Solr وتسمح للمسؤولين بمراقبة الأحداث والسجلات في لوحة القيادة أثناء التنقل.
على سبيل المثال ، في مجال الخدمات المصرفية ، سيتمكن المديرون من استرداد المعلومات حول المعاملات الفاشلة ومعرفة سبب كل مشكلة تقريبًا "أثناء التنقل" ، مما يقلل بشكل كبير من العمل اليدوي. يمكن أن يؤدي ذلك إلى تقليل البحث اليدوي في السجلات أيضًا.
5. تعلم الآلة
قامت Solr ، بالتعاون مع Bloomberg ، بتنفيذ التعلم الآلي ( مكون إضافي من التعلم إلى الترتيب ) باستخدام مفهوم إعادة ترتيب المستندات وفقًا للنتيجة من استعلام أكثر تعقيدًا. يهدف التعلم الآلي إلى تزويد المشتركين بتجارب أفضل في البحث الفوري عن الشركات والأشخاص والأخبار الأكثر صلة.
نقاط ضعف SOLR
Solr ليس سريعًا مثل Elasticsearch ويعمل بشكل أفضل مع البيانات الثابتة (التي لا تتطلب تغييرًا متكررًا). السبب يرجع إلى المخابئ. في Solr ، تكون ذاكرات التخزين المؤقت عامة ، مما يعني أنه عندما يحدث أدنى تغيير في ذاكرة التخزين المؤقت ، تتطلب جميع الفهرسة تحديثًا. عادة ما تكون هذه عملية تستغرق وقتًا طويلاً. في Elastic ، من ناحية أخرى ، يتم التحديث بواسطة شرائح.

احتلت Sphinx المرتبة الخامسة بين محركات البحث في عام 2018 ، على الرغم من أنها لا تزال تقنية قوية وشائعة ، بعد أن أفسحت المجال لـ Elasticsearch و Solr من حيث الترتيب.
يستخدم Sphinx في أنظمة مشهورة مثل Joomla.org و CouchSurfing.org و Wikimapia.org و Tumblr.com ومئات التطبيقات الأخرى.
نقاط قوة أبو الهول
1. قوي وسريع
تطور Sphinx خلال السنوات الأخيرة وأصبح قادرًا على توفير بحث في الوقت الفعلي تقريبًا. تتضمن سرعته أكثر من 500 استعلام / ثانية مقابل 1000000 مستند ، مع أكبر عدد مسجل للفهرسة يقدر بأكثر من 25 مليار مستند.
يقدم Craigslist ، بمساعدة Sphinx ، أكثر من 300 مليون استفسار يوميًا. لديها أكثر من 50 مليار مشاهدة صفحة في الشهر.
يستخدم Infegy Sphinx لفهرسة أكثر من 22 مليار Twitter و Facebook ومنشورات مدونة متنوعة لتقديم مراقبة ثاقبة لوسائل التواصل الاجتماعي والاستعلامات التحليلية.
2. البحث الأوجه
يتمتع Sphinx بخبرة واسعة في إمكانات البحث ذات الأوجه.
Youku Tudou ، أكبر موقع فيديو في الصين ، يستخدم Sphinx للبحث الأوجه عن المحتوى الذي يتم تسليمه إلى أكثر من 400 مليون مستخدم شهريًا ، بأحجام تصل إلى 15000 استفسار في الثانية.
في Greenice ، استخدمنا مؤخرًا Sphinx لمتجر أجهزة كمبيوتر للتجارة الإلكترونية. قمنا بتنفيذ البحث الأوجه على سمات مثل العلامة التجارية ، والنوع ، والغرض ، ودقة الشاشة ، والمصفوفة ، والقطري ، وسعة محرك الأقراص الثابتة ، وسعة SSD ، إلخ.

3. لا شيء عديم الفائدة
إذا كنت بحاجة إلى وظائف بحث عامة ولا تحتاج إلى أي ميزات إضافية مثل تصور البيانات وتحليلها ، فاستخدم Sphinx. إنه سريع جدًا وقوي لفهرسة كميات ضخمة من المستندات والاستعلام عنها باستخدام موارد حوسبة محدودة ، على عكس Elasticsearch الذي يستهلك قدرًا كبيرًا من الذاكرة.
أحد الأمثلة هو Boardreader ، حيث تقوم Sphinx بفهرسة ما يصل إلى 16 مليار مستند عبر 37 جهازًا.
نقاط ضعف أبو الهول
يعتبر Sphinx مفيدًا للبيانات المنظمة (حقول نصية محددة مسبقًا وسمات غير نصية) ، ولكنه ليس الخيار الأفضل للمشاريع التي تتعامل مع البيانات غير المهيكلة (DOCs و PDFs و MP3s وما إلى ذلك) ، حيث يستغرق المطورون الكثير من الوقت و جهد لتكوين. هذا ، إلى جانب الصعوبات الأخرى في التكوين ، يجعل Sphinx أقل راحة في الاستخدام من منافسيها.
مقارنة بحث مفتوح المصدر
فيما يلي مقارنة موجزة بين Elasticsearch مقابل Solr مقابل Sphinx:
Elasticsearch | Solr | أبو الهول | |
| أنواع ميزات البحث | 1. النص الكامل | 1. النص الكامل 2. اقتراحات الإكمال التلقائي 3. الأوجه 4. متعدد الحقول 5. المرادفات 6. غامض 7. إبراز 8. الجغرافيا المكانية 9. المدقق الإملائي | 1. النص الكامل |
| الفهرسة في الوقت الحقيقي | نعم | نعم | نعم |
| أداء | عالي | عالي | عالي |
| قابلية التوسع | عالي | عالي | عالي |
| مخطط البيانات | خالية من المخطط ∗ | نعم، ولكن ديناميكية * | نعم ∗ |
| يمكن أن يكون التخزين | نعم | نعم | لا |
| تصور البيانات | يسمح به Elastic Stack (ES و Kibana و Logstash) | يسمح به المكون الإضافي Banana | لا |
| التعلم الالي | نعم | نعم | لا |
كيفية تطبيق هذا على عملك
عندما تلاحظ أن الأمر يستغرق بعض الوقت لاسترداد نتائج استعلامك على موقع الويب الخاص بك ، فقد يؤثر ذلك سلبًا على تجربة المستخدم.
من خلال تجهيز قاعدة البيانات الخاصة بك بمحرك بحث قوي ، سيزداد أداء تطبيقك بشكل كبير.
توفر محركات البحث المعاصرة ميزات متطورة مثل الاقتراحات والنص الكامل والبحث الأوجه الغامض وما إلى ذلك للحصول على نتائج أكثر دقة وذات صلة.
كما ترى ، الاختلافات بين Elasticsearch و Solr و Sphinx ضئيلة. إنهم جميعًا يحققون هدفهم الرئيسي - توفير بحث فعال وسريع.
اختبار العديد من محركات البحث أثناء عملنا على مشاريع مختلفة ، نستخدم الآن في الغالب Elasticsearch ، حيث أثبت أنه يتمتع بأفضل الصفات لمعظم المشاريع. إنه سريع ومرن وسهل العمل معه ، ولا يوفر فقط إمكانات بحث سريعة وذات صلة ، بل يمكن أن يكون وسيلة تخزين في حد ذاته. من المريح البحث عن البيانات في السجلات لتحديد المشكلات المتعلقة بالتطبيقات بسرعة وتوفير تصور فعال لكل ما يجري في تطبيق الويب الخاص بك في الوقت الفعلي.
إذا كان لديك بالفعل مشروع على Solr أو Sphinx ، فقد لا يكون من المنطقي نقله إلى Elasticsearch. بغض النظر ، من الأفضل الاعتماد على مطوريك الذين لديهم أفضل تجربة ويشعرون براحة أكبر مع أحد محركات البحث. نظرًا لأن جميع المشاريع فردية ، فإننا نحلل كل طلب بعناية للتوصل إلى الحل الأنسب لمهمتك.
إرسال تعليق