البرنامج التعليمي لـ Apache Solr: ما هو Solr؟ Architecture

⚡ ملخص ذكي

أباتشي سولر هو برنامج مفتوح المصدر، Javaخادم بحث قائم على Apache Lucene. يقوم بفهرسة كميات كبيرة من البيانات النصية ويعيد نتائج ذات صلة عبر واجهات برمجة تطبيقات REST، مما يوفر البحث في النص الكامل، والتصنيف، وقابلية التوسع، وأنماط النشر المستقلة وSolrCloud.

  • 🔍 تعريف Solr: مفتوح المصدر، Java خادم بحث مبني على أباتشي لوسين.
  • 🗂️ الفهرسة: يستخدم فهرسًا معكوسًا لتخزين واسترجاع المستندات النصية بسرعة.
  • 🌐 واجهات برمجة التطبيقات REST: التواصل عبر بروتوكول HTTP باستخدام JSON أو XML أو CSV؛ لا Java مطلوب.
  • 🧩 الهندسة المعمارية: محلل الاستعلامات، ومعالج الطلبات، وكاتب الاستجابات، ومعالج التحديثات.
  • 🇧🇷 مقارنة بين Solr و Elasticsearch: يدعم Solr تنسيقات XML/CSV/JSON وتقسيم البيانات إلى أجزاء؛ وكلاهما يستخدم Lucene.
  • ☁️ نشر: الوضع المستقل أو SolrCloud مع العقد والأجزاء والنسخ المتماثلة والمجموعات.

أباتشي سولر البرنامج التعليمي

ما هو أباتشي سولر؟

اباتشي سول عبارة عن منصة خادم بحث مفتوحة المصدر مكتوبة باللغة Java اللغة التي طورتها مؤسسة Apache للبرمجيات. وهي قابلة للتطوير بشكل كبير وجاهزة لنشر محرك بحث للتعامل مع حجم كبير من البيانات النصية. والغرض من استخدام Apache Solr هو فهرسة كمية كبيرة من محتوى الويب والبحث فيها وتقديم محتوى ذي صلة بناءً على استعلام البحث.

Apache Solr عبارة عن غلاف HTTP قائم على REST-API حول محرك البحث عن النص الكامل المسمى Apache Lucene. الفهرس المقلوب عبارة عن قائمة من الكلمات حيث يرتبط كل إدخال كلمة بالمستندات المخزنة فيها. بهذه الطريقة يتم الحصول على جميع المستندات لاستعلام البحث "guru99" من خلال عملية "get" البسيطة.

تاريخ أباتشي سولر

  • 1999: نشر دوج كاتنج رواية لوسين
  • 2004: تم تطوير Solr في CNET بواسطة Yonik Seeley كمشروع داخلي للشركة
  • 2006: قامت CNET بنشر الكود المصدري عن طريق التبرع به لبرنامج Apache Foundation
  • 2008: تم إصدار Solr 1.3 مع إمكانات بحث محسنة وتحسينات في الأداء
  • 2010: اندماج لوسين وسولر
  • 2012: تم إصدار الإصدار 4.0 من Solr، مع ميزة Solr Cloud الجديدة
  • 2016: تم إصدار Solr 6.0 الذي يقدم الدعم لتنفيذ استعلامات SQL المتوازية
  • 2017: تم إصدار Solr 7.0، مضيفًا إطار عمل للتوسع التلقائي وواجهة برمجة تطبيقات JSON Facet
  • 2019: تم إصدار Solr 8.0 مع دعم المستندات المتداخلة وتحسين تعبيرات البث
  • 2021: انفصلت Lucene وSolr مرة أخرى، وأصبح Solr مشروعًا مستقلاً على مستوى Apache الأعلى
  • 2022: تم إصدار Solr 9.0 كأول إصدار مستقل عن Lucene، مع إضافة البحث المتجهي ودعم Kubernetes
  • 2026: تم إصدار Solr 10.0 كأحدث إصدار رئيسي

مميزات أباتشي سولر

فيما يلي ميزات مهمة لـ Apache Solr:

  • موازنة الحمل التلقائي
  • الواجهات المفتوحة القائمة على المعايير – XML، وJSON، وHTTP
  • يتم دعم التوصيات والاقتراحات الإملائية
  • دعم الإكمال التلقائي والبحث الجغرافي المكاني
  • أمان مدمج للمصادقة والترخيص
  • يسمح لك بإجراء بحث متعدد اللغات عن الكلمات الرئيسية
  • الإكمال التلقائي/توقع النوع المسبق
  • معالجة الدفعات والتدفق
  • إن بناء نماذج التعلم الآلي أمر سهل
  • مُحسّن خصيصًا لحركة المرور على الويب ذات الحجم الكبير
  • واجهات الإعجاب HTML الشاملة
  • يدعم كلاً من تكوين المخطط والتكوين غير المخطط
  • بحث الأوجه والتصفية
  • التكوين المركزي لكامل Cluster

المصطلحات الأساسية المستخدمة في Apache Solr

الآن في هذا البرنامج التعليمي لمحرك بحث Solr، سنتعرف على المصطلحات الأساسية المستخدمة في Apache Solr:

المصطلح الرئيسي الوصف
سولر كور يمكن تعريف Solr Core على أنه فهرس للنصوص والحقول المستمدة من جميع المستندات. قد يحتوي مثيل Solr واحد على نواة Solr Core واحدة أو عدة نوى. النواة = مثيل لفهرس Lucene + إعدادات Solr
مثيل سولر Solr Instance هو مثيل Solr يعمل في ملف Java آلة افتراضية (JVM). في الوضع المستقل، فإنه يقدم مثيلًا واحدًا فقط بينما في الوضع السحابي، يمكنك الحصول على مثيل واحد أو أكثر.
الفهرسة الفهرسة هي طريقة لإضافة محتوى المستند إلى Solr Index. يستخدم Apache Solr تقنية Apache Lucene Inverted Index.
وثيقة إنها مجموعة من الحقول وقيمها. المستند هو وحدة أساسية من البيانات المخزنة في Apache Core. قد يحتوي أحد نواة Apache على مستند واحد أو أكثر.
الحقل الحقل عبارة عن زوج من المفتاح والقيمة يخزن البيانات الفعلية في المستند. يحدد المفتاح اسم الحقل، بينما تحتوي القيمة على بيانات ذلك الحقل. قد يحتوي المستند على حقل واحد أو عدة حقول. يستخدمه Apache Solr لفهرسة محتوى المستند.
واجهات برمجة التطبيقات المريحة للتواصل مع Solr، ليس من الضروري أن تستخدم Java برمجة. بدلا من ذلك، يوفر Apache Solr خدمات مريحة للتواصل معها. يمكنك إرسال المستندات وتلقي النتائج بتنسيقات ملفات مختلفة مثل JSON وXML وCSV.
البحث عن نص كامل يقدم Solr ميزات للبحث عن النص الكامل مثل الرموز المميزة والعبارات والتدقيق الإملائي والإكمال التلقائي وأحرف البدل وما إلى ذلك.
واجهة المسؤول يوفر Solr واجهة مستخدم سهلة الاستخدام وسهلة الاستخدام ومزودة بالميزات. باستخدام الواجهة، يمكنك تنفيذ مهام مثل إدارة السجلات وإضافة المستندات وحذفها وتحديثها والبحث فيها.
تتمحور حول النص ويتم فرزها حسب الصلة يتم استخدام Apache Solr للبحث في المستندات النصية، ويتم تسليم النتائج وفقًا لاستعلام المستخدم.
العقدة في Solr Cloud، يُعرف كل مثيل على أنه عقدة.
Cluster الكتلة هي مجموعة من العقد.
التشكيلات تحتوي المجموعة على فهرس منطقي يسمى أيضًا المجموعة.
قشرة إنها مساحة صغيرة من المجموعة التي تقدم نسخًا متماثلة فردية أو متعددة من الفهرس.
طبق الاصل النسخة المتماثلة هي نسخة من الجزء الذي يتم تشغيله في العقدة.
زعيم وهي نسخة طبق الأصل من الجزء الذي يرسل طلبات Solr Cloud لبقية النسخ المتماثلة.

اباتشي سول Architecture

الآن في هذا البرنامج التعليمي للبحث عن Solr، دعنا نتعرف على Apache Solr Archiالبنية:

اباتشي سول Architecture
اباتشي سول Architecture

Apache Solr يعرض المكونات التالية للخطر

سؤال

يقوم محلل الاستعلامات بتحليل الاستعلامات التي تحتاج إلى تمريرها إلى Solr. ويتحقق من صحة الاستعلام للتأكد من خلوه من الأخطاء النحوية. بعد تحليل الاستعلامات، يتم تحويلها إلى تنسيق متوافق مع Lucene.

معالج الطلب

تتم معالجة الطلبات المُرسلة إلى Apache Solr بواسطة معالج الطلبات. قد يكون الطلب استعلامًا أو طلب تحديث فهرس. عليك اختيار معالج الطلبات وفقًا لمتطلباتك. لتمرير طلب إلى Solr، يجب ربط المعالج بـ URL نقطة النهاية.

استجابة Writer

سيقوم كاتب الاستجابة بإنشاء مخرجات منسقة لاستعلامات الإدخال. وهو يدعم تنسيقات مختلفة مثل XML، JSON، CSV.etc. قد يكون لديك كتاب استجابة مختلفين لأنواع مختلفة من الطلبات.

تحديث المعالج

عند إرسال طلب تحديث إلى Apache Solr، يتم تنفيذه عبر مجموعة من المكونات الإضافية، والتوقيع، والتسجيل، والفهرسة. تُعرف هذه العملية بمعالج طلب التحديث. كما أن معالج التحديث مسؤول عن التعديلات مثل الإضافة أو الحذف.ping تم تقديمها، إلخ.

تطبيقات أباتشي سولر

تطبيق الأستعمال
بوابة الإنترانت
  • سهولة الوصول إلى البحث
  • إطلاق التطبيق
  • إشعار الأخبار والأحداث
  • مصادقة تسجيل الدخول الأحادي
العميل الموحد
  • عرض مبسط
  • البحث عبر كافة المحتويات
  • الوصول المصرح به فقط
  • عرض المستند
مجموعات بيانات الأداة
  • الأمثل للعلماء
  • القوائم المعتمدة على البيانات
  • مرشحات الشبكة المتخصصة
الوثائق التنظيمية
  • مصممة للباحثين
  • الوصول إلى البيانات الوصفية الغنية
  • تصدير جداول البيانات
  • عرض مسرع الوثيقة
جزءا لا يتجزأ من تطبيق PLM
  • يقدم تجربة بحث أفضل مما يمكن أن يوفره نظام RDBMS
  • نموذج الأمان الملزم المتأخر
  • إجراءات الوثيقة المعروضة على شريط الأدوات

كيفية تثبيت أباتشي سولر؟

الخطوة 1) افتح الموقع واستمر في الاشتراك
اذهب إلى هذا الصفحة ، انقر فوق "متابعة الاشتراك".

تثبيت أباتشي سولر

الخطوة 2) انقر على قبول الشروط
في الصفحة التالية، انقر على قبول الشروط.

تثبيت أباتشي سولر

الخطوة 3) الانتظار لبعض الوقت
بعد ذلك، انتظر بعض الوقت، وبعد ذلك، سيتم قبول الطلب بعد مرور بعض الوقت.

تثبيت أباتشي سولر

الخطوة 4) تابع إلى التكوين
قم بتحديث الصفحة ثم انقر فوق "متابعة التكوين"

تثبيت أباتشي سولر

الخطوة 5) تواصل الانطلاق
احتفظ بالإعدادات الافتراضية، ثم انقر فوق "متابعة التشغيل".

تثبيت أباتشي سولر

الخطوة 6) احتفظ بالإعدادات الافتراضية
في الصفحة التالية، احتفظ بالإعدادات الافتراضية

  • تأكد من أن لديك ملف pem الخاص بالمفتاح
  • انقر فوق "إطلاق"

تثبيت أباتشي سولر

سترى رسالة النجاح هذه

تثبيت أباتشي سولر

الخطوة 7) لاحظ DNS العام
في وحدة تحكم EC2، لاحظ DNS العام لمثيلك

تثبيت أباتشي سولر

الخطوة 8) افتح أدناه URL
للوصول إلى Solr، ما عليك سوى استخدام URL

http://publicdns:8983

في حالتنا يصبح

http://ec2-18-221-175-53.us-east-2.compute.amazonaws.com:8983

تثبيت أباتشي سولر

ملاحظة: إذا كانت لديك مشكلة في الوصول إلى المثيل، فقم بتغيير القواعد الواردة والصادرة في المثيل الخاص بك للسماح بكل حركة المرور كما هو موضح في مثال استعلام Solr أدناه:

تثبيت أباتشي سولر

البحث المرن مقابل. أباتشي سولر

المعاملات اباتشي سول بحث مرن
الطبيعة وهو مشروع مفتوح المصدر. ليس مشروعًا مفتوح المصدر.
الحالة الثابتة ثابت في shema.xml ثابت في elasticsearch.yml
شكل XML، CSV، JSON جيسون فقط
فهرس يمكن إعادة تحميلها أثناء وقت التشغيل من خلال إعادة تحميل المجموعة/الأساسية يتم تعريفه أثناء إنشاء الفهرس/النوع باستخدام استدعاء REST
توثيق موثقة جيدا. تم توثيقه بشكل سيء.
تقسيم الشظايا ممكن غير ممكن

مزايا أباتشي سولر

  • يساعدك على تقليل مقدار الوقت المستغرق لتحديد موقع المعلومات
  • إنه محرك بحث سريع وبسيط وقوي ومرن
  • يساعدك على جعل منتجاتك وخدماتك أكثر سهولة
  • زيادة إنفاق العملاء على تطبيق الويب
  • يساعدك على تحسين تجربة المستخدم على تطبيق الويب لزيادة الإيرادات والأرباح
  • واجهة إدارة شاملة مبنية على HTML
  • مرنة وقابلة للتكيف مع تكوين XML
  • البرنامج المساعد الموسعة Architecture
  • محرك بحث قوي وقابل للتطوير بدرجة عالية ويتحمل الأخطاء
  • يدعم التوزيع والتظليل والنسخ المتماثل، Clusterجي ومتعددة العقدة Architecture

عيوب أباتشي سولر

  • إنه ليس مخزن بيانات متوافقًا مع ACID
  • إنه ليس مفيدًا كمخزن بيانات أساسي. مفيد فقط كمخزن بيانات ثانوي
  • لا يقدم الدعم للمعاملات والمعاملات الموزعة
  • لا يدعم الانضمامات والاستعلامات المعقدة
  • ليس الأمثل للبيانات المقيسة

الأسئلة الشائعة

كلاهما مبني على منصة Apache Lucene. يتميز Solr بأنه مفتوح المصدر بالكامل، ويدعم صيغ XML وCSV وJSON، ويتيح تقسيم البيانات إلى أجزاء، كما أنه موثق بشكل جيد. أما Elasticsearch فيقبل صيغة JSON فقط، ولا يدعم تقسيم البيانات إلى أجزاء، وغالبًا ما يُختار لتحليلات البيانات في الوقت الفعلي.

يُعدّ Solr core فهرسًا للنصوص والحقول المُستمدة من المستندات، بالإضافة إلى إعدادات Solr الخاصة به. ويمكن لنسخة Solr واحدة استضافة نواة واحدة أو أكثر، حيث تعمل كل منها كفهرس Lucene مستقل.

أباتشي سولر هو غلاف HTTP قائم على واجهة برمجة تطبيقات REST، ويحيط بأباتشي لوسين. Java محرك بحث نصي كامل. يوفر Lucene الفهرس المعكوس، بينما يضيف Solr قابلية التوسع والتكوين وواجهات برمجة تطبيقات REST وواجهة إدارة.

يمكن للذكاء الاصطناعي إضافة البحث الدلالي والمتجهي، ونماذج التعلم للترتيب، وفهم الاستعلامات إلى Solr. وهذا يُظهر نتائج أكثر صلة، ويتعامل مع المرادفات والنوايا، ويُحسّن الإكمال التلقائي والتوصيات.

نعم. يمكن للذكاء الاصطناعي أن يوصي بحقول المخطط، والمحللات، وإعدادات التخزين المؤقت، وأن يكتشف الاستعلامات البطيئة، وأن يقترح استراتيجيات التجزئة والنسخ المتماثل، ويساعدping تقوم الفرق بضبط Solr لتحسين الأداء والملاءمة مع تقليل التجربة والخطأ.

تلخيص هذه التدوينة بـ: