احصل على أقصى استفادة من Apache Solr: استكشاف تقني لفهرسة البحث
نشرت: 2023-02-21تعمل ميزة البحث على تحسين تجربة المستخدم لموقع الويب من خلال السماح للمستخدم بالعثور على ما يبحث عنه بسهولة وسرعة. أكثر من ذلك بالنسبة لمواقع الويب الكبيرة ومواقع التجارة الإلكترونية والمواقع ذات المحتوى الديناميكي (المواقع الإخبارية والمدونات).
يعد Apache Solr أحد أكثر منصات البحث شيوعًا التي تستخدمها مواقع الويب من جميع الأحجام. إنه محرك بحث مفتوح المصدر يعتمد على Java يتيح لك البحث في كميات كبيرة من البيانات ، مثل المقالات والمنتجات ومراجعات العملاء والمزيد. ألق نظرة أعمق على Apache Solr في هذه المقالة.
تحقق من هذه المقالة لمعرفة كيفية تكوين Apache Solr في دروبال
لماذا تحظى Apache Solr بشعبية كبيرة؟
Apache Solr سريع ومرن ويسمح بالبحث عن نص كامل ، وإبراز النقرات (يبرز مصطلح البحث المطابق) ، والبحث الأوجه (بحث أكثر دقة) ، والفهرسة في الوقت الفعلي (يسمح بفهرسة المحتوى الجديد على الفور) ، والتجميع الديناميكي ( ينظم نتائج البحث في مجموعات) ، وتكامل قاعدة البيانات ، وميزات NoSQL (قاعدة بيانات غير علائقية) ومعالجة غنية للمستندات (لفهرسة مجموعة متنوعة من تنسيقات المستندات مثل PDF و MS Office و Open office).
بعض الحقائق المفيدة عن Apache Solr:
- تم تطويره في البداية بواسطة شبكات CNET ، المؤتمر الوطني العراقي. كمحرك بحث عن مواقعهم ومقالاتهم. في وقت لاحق ، كان مفتوح المصدر وأصبح مشروع Apache عالي المستوى.
- يدعم لغات برمجة متعددة مثل PHP و Java و Python و Ruby. كما يوفر واجهات برمجة التطبيقات لهذه اللغات.
- لديه دعم مدمج للبحث الجغرافي المكاني ، مما يسمح بالبحث عن المحتوى بناءً على موقعه. مفيد بشكل خاص للمواقع مثل مواقع العقارات ومواقع السفر وما إلى ذلك.
- يدعم ميزات البحث المتقدمة مثل التدقيق الإملائي والإكمال التلقائي والبحث المخصص عبر واجهات برمجة التطبيقات والمكونات الإضافية.
- يستخدم Lucene للفهرسة والبحث.
ما هو لوسين
Apache Lucene هي مكتبة بحث Java مفتوحة المصدر تتيح لك إضافة البحث أو استرجاع المعلومات بسهولة إلى التطبيق. إنه متعدد الاستخدامات وقوي ودقيق ويعمل على خوارزمية بحث فعالة.
على الرغم من أن Lucene معروف بقدرات البحث في النص الكامل ، إلا أنه يمكن استخدامه أيضًا لتصنيف المستندات وتحليل البيانات واسترجاع المعلومات. كما أنه يدعم العديد من اللغات الأخرى غير الإنجليزية مثل الألمانية والفرنسية والإسبانية والصينية واليابانية وغيرها.
ما هي الفهرسة؟
تبدأ جميع محركات البحث بالفهرسة. الفهرسة هي معالجة البيانات الأصلية في بحث ذو كفاءة عالية عبر المراجع لتسهيل البحث السريع.
لا تقوم محركات البحث بفهرسة البيانات مباشرة. يتم تقسيم النصوص أولاً إلى رموز (عناصر ذرية). البحث هو عملية الرجوع إلى فهرس البحث واسترجاع المستند المطابق للاستعلام.
مزايا الفهرسة
- استرجاع المعلومات بشكل سريع ودقيق (يجمع ويوزع ويخزن)
- بدون فهرسة ، يتطلب محرك البحث مزيدًا من الوقت لمسح كل مستند ضوئيًا
تدفق الفهرسة
أولاً ، سيتم تحليل المستند وتقسيمه إلى رموز مميزة. ستتم فهرسة كل هذه الرموز المميزة إلى الفهرس المقلوب. الفهرس المقلوب هو طريقة يقوم بها Solr ببناء الفهرس.
كيف تعمل الفهرسة المعكوسة
لنفترض أن لدينا 3 مستندات:
- أنا أحب الشوكولاته (د 1)
- طلبت كعكة الشوكولاتة (د 2)
- أعددت كعكة الفانيليا الكبيرة (د 3)
الطريقة التي يتم بها الترميز هي كما هو موضح في العمود الثاني من الجدول أدناه.
يتوفر "Chocolate" في D1 و D2
"الكيك" متوفر في D2 و D3
يتوفر "كبير" في D3
"تم طلبه" متاح في D2
"Prepared" متاح في D3
"الفانيليا" متاح في D3
ستلاحظ أن كلمات مثل "أنا" ، "حب" ليست رمزية. تسمى هذه الكلمات Stop التي لن يتم فهرستها أو البحث عنها بواسطة Solr.
لذلك عندما يبحث شخص ما عن مصطلح "كعكة الشوكولاتة" ، يبحث المحرك في الفهرس. بدلاً من البحث عن المستند ، يبحث أولاً في الفهرس لمعرفة المستندات التي تندرج تحتها الكلمتان "شوكولاتة" و "كعكة". هذا يجعل من السهل والأسرع إحضار المستند المعين فقط. وهذا ما يسمى بالفهرسة المعكوسة.
مخطط التخزين
يستخدم Apache Solr مخطط تخزين مستندًا إلى المستندات ويخزن كل جزء من البيانات كمستند منفصل داخل مجموعة. وهذا يسمح بتخزين واسترجاع البيانات بكفاءة ومرونة.
في دروبال ، تعتبر كل عقدة وثيقة. لذلك عندما تقوم بفهرسة العقدة الخاصة بك إلى Apache Solr ، فإنها تعتبر وثيقة. يمكن أن يحتوي كل مستند على عدة حقول. ليس لدى لوسين مخطط عالمي مشترك. مما يعني أنه يمكنك فهرسة أي نوع من الحقول في كل مستند في Apache Solr.
كيفية تثبيت Apache Solr
- أولاً ، تأكد من تثبيت Java على نظامك.
- بعد ذلك ، دعنا نثبت Solr من هنا: https://solr.apache.org/downloads.html
- تنزيل واستخراج Solr.
- قم بتشغيل هذا الأمر في مجلد Solr.
◦ بن / سولر- e techproducts
سيؤدي هذا إلى إنشاء نواة وهمية للتوضيح وسيبدأ أيضًا خادم Solr.
- بمجرد بدء تشغيل الخادم ، انتقل إلى المتصفح واكتب "http: // localhost: 8983 /".
- تأكد من تثبيت Solr بنجاح باستخدام النواة الوهمية.
بنية الدليل
بمجرد تثبيت Solr ، سترى العديد من المجلدات مثل:
المستندات - يحتوي على وثائق حول Solr
Dist - Solr الرئيسي ملف .jar
مساهمة - تحتوي على مكونات إضافية وميزات متخصصة في Solr
بن - نصوص Solr
مثال - يحتوي على إظهار قدرات solr
الخادم - قلب صولر. يحتوي على تطبيق ويب Solr ، سجلات ، Solr core
ملفات التكوين
لإنشاء نواة ، نحتاج إلى ملفين إلزاميين.
- مخطط xml
- Solrconfig.xml
مخطط xml
- سيحتوي على أنواع الحقول التي تخطط لدعمها وكيف يجب تحليل هذه الأنواع.
Solrconfig.xml
- يحتوي على إعدادات متنوعة تتحكم في سلوك نواة Solr مثل معالج الطلب ومرسل الطلب ومكونات الاستعلام ومعالجات التحديث وما إلى ذلك.
الاستعلام في Solr
لنرى الآن كيفية الاستعلام عن نتائج Solr في Solr admin UI.
معامِل الاستعلام
- المعلمات المحلية هي وسيطات في طلب Solr خاصة بمعلمة استعلام.
على سبيل المثال: cat: Electronics
معامِل الاستعلام مع العمليات
- يمكننا الاستعلام عن عدة حقول مع العملية.
على سبيل المثال: cat: Electronics id: TWINX2048-3200PRO مع q.op AND
[أو]
القط: الإلكترونيات والمعرف: TWINX2048-3200PRO
[أو]
استعلام عامل التصفية
يساعد استعلام عامل التصفية في تضييق نطاق نتائج البحث. يمكن تحديد استعلام بواسطة المعلمة fq لتقييد المستندات التي يتم إرجاعها في مجموعة شاملة ، دون التأثير على النتيجة.
نوع المعلمة
تقوم معلمة الفرز بترتيب نتائج البحث إما بترتيب تصاعدي (تصاعدي) أو تنازلي (تنازلي). اعتمادًا على المحتوى ، يمكن استخدام المعلمة إما رقميًا أو أبجديًا.
معلمة الصفوف
تتيح لك معلمة الصفوف ترقيم النتائج من الاستعلام.
معلمة قائمة الحقول
تحدد المعلمة fl المعلومات المضمنة في استجابة استعلام لقائمة حقول محددة.
معلمة الحقل الافتراضية
معلمة الحقل الافتراضية هي الحقل الافتراضي لمعلمة الاستعلام.
يبرز معلمة
تتيح ميزة التمييز في Solr تضمين أجزاء من المستندات التي تتطابق مع استعلام.
بعض معلمات التمييز الأكثر شيوعًا هي:
- Hl.fl - يبرز قائمة الحقول.
- Hl.simple.pre - تحديد "العلامة" التي يجب استخدامها قبل الكلمة المميزة.
- Hl.simple.post - تحديد "العلامة" التي يجب استخدامها بعد المصطلح المميز.
- hl.highlightMultiTerm - إذا تم تعيينه على "صحيح" ، فسوف يقوم Solr بتمييز استعلامات أحرف البدل. إذا كانت خاطئة ، فلن يتم إبرازها على الإطلاق.
واجهة:
تتيح الواجهات للمستخدمين استكشاف مجموعات كبيرة من نتائج البحث وتحسينها. يتم عرضها في واجهة المستخدم كمربعات اختيار أو قوائم منسدلة أو عناصر تحكم أخرى. المعلمتان العامتان للتحكم في الجوانب هما:
- معلمة الواجهة
باستخدام معلمة الواجهة ، يمكن للمستخدمين إنشاء واجهات بناءً على قيم حقل واحد أو أكثر في فهرس البحث الخاص بهم. في نتائج البحث ، يمكن تكوين معلمة الواجهة للتحكم في كيفية إنشاء الواجهات وعرضها.
2. Facet.query بارامتر
عندما يقوم المستخدم بتضمين معلمة facet.query في استعلام Solr الخاص به ، يقوم Solr بإنشاء قائمة بأعداد الواجهات التي تتوافق مع عدد المستندات في الفهرس التي تطابق كل استعلام. يكون Facet.query مفيدًا عندما تريد إنشاء واجهات استنادًا إلى معايير بحث معقدة لا يمكن تمثيلها بسهولة باستخدام قيمة حقل بسيطة.
هناك العديد من معلمات الواجهة الأخرى مثل facet.field (لتحديد الحقول التي يجب استخدامها لإنشاء أوجه) ، و facet.limit (الحد الأقصى لعدد الأوجه المراد عرضها لكل حقل) ، و facet.mincount (الحد الأدنى لعدد المستندات المطلوبة لـ الوجه المراد تضمينه في الاستجابة) ، facet.sort (يحدد الترتيب الذي يجب أن تظهر به قيم الواجهة) .
افكار اخيرة
Apache Solr هو محرك بحث متعدد الاستخدامات للغاية يأتي مع العديد من الميزات المثيرة للاهتمام والتي يمكن تخصيصها وفقًا لمتطلباتك. يعمل دروبال بشكل جيد للغاية مع Apache Solr. إذا كنت تبحث عن خبراء دروبال لتهيئة محرك بحث قوي لمشروعك الجديد ، فنحن نود أن نأخذ الأمر إلى أبعد من ذلك!