كيفية إضافة البحث عن النص الكامل إلى موقع الويب الخاص بك

تحتاج العديد من أنواع المواقع الإلكترونية إلى بحث فعال ودقيق.

تشرح هذه المقالة البدائل من جانب الخادم والعميل ، وتوضح كيفية تنفيذ البحث الذي يعمل دون اتصال بالإنترنت.

ليرة تركية، والدكتور

هناك العديد من الطرق لإجراء البحث:

  • عبر محرك بحث خلفي مثل Elasticsearch أو Solr.
  • خدمات البحث التجارية مثل Algolia و AWS Cloudsearch.
  • باستخدام قاعدة بيانات مع البحث المدمج في مثل MySQL أو MongoDB.
  • أنظمة التطبيقات وخدمات قواعد البيانات مع وظيفة البحث الإضافية ، مثل Firebase و Cloudant.
  • مكتبات بحث JavaScript من جانب العميل مثل FlexSearch و Elasticlunr.
  • مكتبات JavaScript من جانب العميل التي تقوم بمزامنة البيانات مع قاعدة بيانات خلفية: PouchDB على سبيل المثال.
  • جوجل محرك البحث المخصص.

تحتوي جميع محركات البحث وقواعد البيانات والخدمات المدارة التي تمت مناقشتها في هذه المقالة على تكامل عبر العديد من الأنظمة الأساسية والأطر واللغات - وليس فقط للويب. بغض النظر عن الأنظمة الأساسية التي تستهدفها ، فهناك العديد من الاعتبارات الرئيسية عند اختيار الحل:

  • كم مرة تقوم بتحديث البيانات الخاصة بك؟ إذا كانت التحديثات مستمرة ويجب تحديث نتائج البحث تمامًا ، فربما تحتاج إلى استخدام خيار جانب الخادم.
  • هل تحتاج إلى البحث في المحتوى أو البيانات أو البيانات الوصفية - أم الثلاثة؟ يمكن لمحركات البحث فهرسة المحتوى والبيانات الوصفية من الملفات الثنائية مثل مستندات PDF و Word ، أو الوصول إلى البيانات والمحتوى من قواعد البيانات ، أو استخراج البيانات الوصفية مثل EXIF ​​من الصور. تحتاج مكتبات بحث JavaScript إلى JSON.
  • ما الذي تبحث عنه ، في أي سياق؟ على سبيل المثال ، يختلف تحليل السجل عن البحث عن المنتجات الاستهلاكية أو خدمة البحث الاحترافي عن مجموعة كبيرة من البيانات غير المهيكلة مثل الأرشيف التاريخي.
  • ما مقدار البيانات التي تحتاجها للبحث؟ إذا كان يمكنك تخزين جميع بياناتك محليًا على العميل (قل أقل من 20 ميجابايت) ، فيمكنك التفكير في البحث من جانب العميل.
  • هل تريد البحث عن العمل في وضع عدم الاتصال؟ ربما فقط لجزء من وظائف موقعك ، مثل محدد موقع المتجر أو سجل حساب العميل؟ يمكن تمكين البحث في وضع عدم الاتصال عن طريق تخزين بيانات الفهرس مؤقتًا على العميل (تجريبي هنا).

هذه مجرد نظرة عامة على بعض القضايا. يتم استكشاف إيجابيات وسلبيات كل خيار بمزيد من التفاصيل أدناه.

ما هو "البحث عن النص الكامل"؟

بالنسبة إلى كمية صغيرة من البيانات النصية البسيطة ، يمكن توفير وظيفة البحث الأساسية من خلال مطابقة السلاسل البسيطة. على سبيل المثال ، باستخدام جافا سكريبت ، يمكنك تخزين بيانات المنتج لمتجر صغير عبر الإنترنت كمجموعة من الكائنات في ملف JSON ، ثم جلب الملف وتكراره على كل كائن للعثور على التطابقات.

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

  • التنقيب: تطوير نتائج مباريات الجوّال للتطوير للجوال والعكس.
  • تسليم الكلمات الرئيسية: تحتاج محركات البحث إلى تجنب النتائج غير ذات الصلة الناتجة عن مطابقة الكلمات الشائعة مثل a و. (على العكس ، يمكن أن يؤدي تجاهل كلمات التوقف أيضًا إلى حدوث مشكلات في الاستعلامات مثل The Who or To be or not be.)
  • المطابقة الأساسية المبهمة: تطابق عمال الخدمة نتائج خدمة العامل.
في الممارسة العملية ، قد لا تعمل بعض هذه الميزات بالشكل المتوقع ، خاصة في التطبيقات متعددة اللغات أو البيانات المنظمة ذات الطول الأقصر. جعلت بعض مطوري محرك البحث القضية لتفضيل البدائل.

توفر تطبيقات البحث عالية الجودة ميزات إضافية على جانب الإدخال:

  • الإكمال التلقائي: Typing progre ... تستدعي اقتراحات بما في ذلك تطبيق الويب التقدمي.
  • التدقيق الإملائي والاقتراح التلقائي: تشير تطبيقات Porgessive Web Apps إلى تطبيقات تقدمية على الويب ، أو تقوم بالبحث تلقائيًا. يمكن أن يعمل التدقيق الإملائي بشكل أفضل من المطابقة التقريبية ، مما قد يؤدي إلى نتائج غير ذات صلة. في مواقع التجارة الإلكترونية ، يمكن أيضًا استخدام اقتراح تلقائي في الترويج: لاقتراح المنتجات التي قد لا يكون العميل على دراية بها.
  • بحث مرادف: يجب أن تتطابق PWA مع نتائج تطبيقات الويب التقدمية والعكس صحيح. يعد هذا أمرًا ضروريًا للبحث عن المنتجات ، حيث يميل الأشخاص إلى استخدام كلمات مختلفة لنفس الشيء: الأحذية أو الأحذية ، أو wellies أو wellingtons أو gumboots.
  • عمليات البحث الأخيرة: نسبة عالية من عمليات البحث هي عمليات بحث متكررة: غالبًا ما يبحث الأشخاص عن نفس الشيء ، حتى أثناء الجلسة نفسها. قد ترغب في تقديم اقتراحات البحث الأخيرة - والأصول التي يحتمل تخزينها مؤقتًا لعمليات البحث الأخيرة ، مثل الصور أو بيانات المنتج.
  • مطابقة العبارة: كم المسافة المسموح بها بين الكلمات في عبارة البحث؟ على سبيل المثال ، هل يجب أن يتطابق البحث عن أوصاف super moon التي تتضمن الكلمات super and moon ، ولكن لا تتضمن العبارة super moon بالضبط؟
  • البحث على نطاق ووجه: زود المستخدم بعناصر تحكم في واجهة المستخدم مثل مربعات الاختيار وأشرطة التمرير لتضييق نطاق نتائج البحث المحتملة. على سبيل المثال ، ابحث فقط داخل نوع المنتج أو العلامة التجارية ، أو ابحث عن معاطف مبطن ، مقابل كلب كبير للبيع بسعر أقل من 50.00 دولارًا. وظيفة مثل هذا تجمع بين البحث عن النص الكامل (المنتجات التي تطابق المعاطف المبطنة) مع قيود البيانات الأولية (أقل من 50 دولارًا).
  • تعبيرات البحث: قم بتمكين البحث من استخدام AND و OR و NOT والمشغلين الآخرين مثل علامات الاقتباس حول العبارات الدقيقة. على سبيل المثال: grizzly-bears تقوم بإرجاع التطابقات إلى grizzly لكن ليس grizzly. grizzly AND bears تقوم بإرجاع النتائج التي تشير إلى كل من grizzly and bears فقط ، ولكن ليس بالضرورة كعبارة واحدة. غالبًا ما تكون تعبيرات البحث مطلبًا أساسيًا لأدوات البحث مثل فهارس المكتبة.
  • ميزات الملاءمة المتقدمة: تأكد من إمكانية تصنيف النتائج بشكل صحيح ، عن طريق قياس وتيرة أو موضع مصطلح البحث ضمن المستندات ، أو قرب كلمة العبارة ، أو مع التقنيات الأخرى. على سبيل المثال ، قد يبيع متجر ركوب الأمواج شمع لوح التزلج ، ولكن قد تذكر أوصاف لوح ركوب الأمواج أيضًا اللوحة والشمع ، مما يؤدي إلى نتائج غير ذات صلة بشمع اللوحة.
  • البحث المكاني والجغرافي: يطابق استعلام لمطوري الويب في لندن النتائج لمطوري الويب من King's Cross area أو الرمز البريدي NC1.
  • التجميع والوجه والإحصاءات: على سبيل المثال ، قم بحساب عدد التطابقات لمطوري Web London أو (لحساب قاعدة بيانات العملاء) بحساب متوسط ​​الإنفاق للعملاء من المملكة المتحدة الذين أنفقوا أكثر من 500 جنيه إسترليني في العام الماضي ، تم تجميعهم حسب المنطقة.
بالنسبة إلى جمهور عالمي ، يجب أن تعمل كل هذه الوظائف عبر لغات مختلفة ، ومجموعات الأحرف ، واتجاه النص ، والمواقع الجغرافية - ويحتمل أن تتعامل مع اللغويات والاختلافات الثقافية. تختلف اللغة اليابانية عن الطريقة التي اتبعتها في اللغة الإنجليزية. توفر محركات البحث وخدمات البحث جميعًا مقاربات مختلفة للتدويل والتوطين.

ما هو فهرس البحث؟

من الممكن البحث عن كمية صغيرة من البيانات ببساطة عن طريق مسح جميع البيانات لكل طلب بحث. مع زيادة كمية البيانات ، يصبح هذا بطيئًا وغير فعال.

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

يمكنك عرض مثال هنا لفهرس بسيط مصمم لهذا العرض التوضيحي باستخدام مكتبة Lunr JavaScript:

ما هي الوثيقة؟

بشكل مربك ، يتم استخدام كلمة "مستند" بمعنيين مختلفين فيما يتعلق بمحركات البحث:

  • البيانات التي تمثل عنصرًا واحدًا أو "سجل" أو "كائن" ، على سبيل المثال:
    {name: ‘Fred Nerk’ ، job: Developer Web Developer ’}
  • ملف ثنائي بتنسيق مثل PDF أو Word.

قد يكون توفير نتائج بحث عالية الجودة لمجموعة من الملفات الثنائية أكثر تعقيدًا من البحث في البيانات النصية المنظمة. تخيل كتالوج أرشيف الفيديو الذي يتكون من ملايين الملفات القديمة ذات التنسيقات الثنائية المختلفة المتعددة ومجموعة متنوعة من بنيات المحتوى - كيف يمكنك توفير بحث متسق ودقيق عبر مجموعة المستندات بأكملها؟

ماذا تحتاج للتفكير؟

  • زمن تحديث البيانات: التأخير من عند إضافة أو تحديث أو حذف البيانات حتى تظهر التغييرات في نتائج البحث. يمكن أن يكون هذا الكمون منخفضًا جدًا بالنسبة لمحركات البحث ، التي يحتمل أن تكون ثانوية ، حتى مع مجموعات البيانات الكبيرة. يعد انخفاض زمن التحديث أمرًا بالغ الأهمية للبحث على نطاق واسع في التجارة الإلكترونية ، أو لأي سياق يجب أن تعكس فيه نتائج البحث تحديثات البيانات ضمن حدود زمنية صارمة تحددها اتفاقيات مستوى الخدمة - على سبيل المثال ، موقع أخبار قد يتم إصداره مع إشعارات الإزالة. قد لا يتمكن البحث من جانب العميل من توفير زمن انتقال كافٍ بدرجة كافية أو ضمان نشر التحديثات. قد يكون الحفاظ على البحث من جانب العميل غير فعال للغاية ، حيث يجب توزيع وتثبيت كل تحديث البيانات أو الفهرس من قبل جميع المستخدمين.
  • دقة البحث وتصنيفه: تحتاج تطبيقات البحث الناجحة إلى الاستغناء عن الدقة والتذكر ، وتجنب النتائج المفقودة والإيجابيات الخاطئة. غالبًا ما يكون فهم كيفية ترتيب النتائج - وما يجب أن يتجاهله المفهرس فعليًا - أمرًا بالغ الأهمية.
  • بحث البيانات الوصفية: قد تحتاج إلى البحث عن البيانات الوصفية وكذلك المحتوى ، على سبيل المثال بيانات صورة EXIF ​​أو مؤلف PDF وحقول العنوان.
يحتاج تحديث محرك البحث الأخير من FT.com إلى التغيير والتبديل الخبير للعمل بشكل جيد. يصف منشور المدونة الخاص بهم حول المشروع كيف تميل التطبيق في البداية إلى عرض النتائج التي كانت منطقية ولكن لم تكن ذات صلة ، مثل مجموعة كبيرة من المقالات التي تذكر ترامب ولكنها ليست "عنه". كان عليهم أيضًا التأكد من أن ترتيب الصفحات يفضل الأخبار الإخبارية الأخيرة بدلاً من إرجاع ما قد يبدو "الأكثر صلة".

إذا ما هي الخيارات؟

محرك البحث

قم بتشغيل محرك البحث الخاص بك على الخادم. الأكثر شعبية هما Elasticsearch و Solr ، وكلاهما مفتوح المصدر.

طليعة

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

يخدع

  • تكلفة الإعداد والصيانة وتحديث. على نطاق واسع ، المنشآت ذات الحجم الكبير يمكن أن تكون معقدة!
  • تكلفة البنية التحتية الأولية والمستمرة.
  • تتطلب استعلامات البحث التي تتم على الخادم اتصالًا موثوقًا به من العميل ، ومن الواضح أنه لا يعمل في وضع عدم الاتصال.
  • محركات البحث الحديثة سريعة للغاية ، لكن اختناقات اتصال العميل والكمون يمكن أن تجعل عمليات البحث غير مستجيبة.
  • يتطلب كل استعلام بحث طلبًا للخادم ، والذي يمكن أن يتحمل تكلفة كبيرة للبيانات واستخدام البطارية على عملاء الأجهزة المحمولة. البحث الفوري يمكن أن يجعل هذا أسوأ.

خدمة البحث المدارة

استخدم خدمة تجارية مثل Algolia أو Amazon CloudSearch أو نظام أساسي مثل Firebase أو Cloudant الذي يتكامل مع خدمات البحث من طرف ثالث (يستخدم Firebase Algolia).

طليعة

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

يخدع

  • يحتمل أن يكون أكثر تكلفة من خيارات محرك البحث DIY.
  • كما هو الحال مع الخيارات الأخرى من جانب الخادم: تكلفة البيانات ، واستخدام البطارية ، والاعتماد على الاتصال. البحث الفوري يمكن أن يجعل هذا أسوأ.

قاعدة البيانات مع المدمج في البحث

قواعد بيانات NoSQL بما في ذلك MongoDB تدعم البحث عن النص الكامل. يمكن لـ CouchDB تنفيذ البحث باستخدام couchdb-lucene أو في بدائل سابقة الصنع مثل Couchbase.

يتم دعم البحث عن النص الكامل أيضًا بواسطة قواعد بيانات علائقية مفتوحة المصدر مثل MySQL و PostgreSQL بالإضافة إلى العديد من البدائل التجارية.

طليعة

  • قد تكون قاعدة البيانات التي تدعم البحث عن النص الكامل مناسبة لاحتياجاتك ، دون تكلفة إعداد محرك بحث منفصل وصيانته.
  • هناك أسباب وجيهة لعدم استخدام محرك البحث كمخزن للبيانات. إذا كنت بحاجة إلى تخزين وتحديث كمية كبيرة من البيانات ، فمن المحتمل أنك ستحتاج إلى قاعدة بيانات. إذا كانت قاعدة البيانات الخاصة بك تمكن البحث ، فقد يكون هذا هو كل ما تحتاجه.

يخدع

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

Google Site Search و Google Custom Search Engine

تم إهمال بحث المواقع من Google ، لكن محرك البحث المخصص من Google (CSE) لا يزال متاحًا. وأوضح الاختلافات بين الاثنين هنا.

يمكنك تجربة CSE مع المثال هنا ، الذي يبحث عن منتجات من مشروع Polymer Shop.

إذا كنت لا تريد إعلانات وإذا كنت سعيدًا بالدفع (أو أن الحصة المجانية كافية) فقد تعمل CSE API من أجلك.

طليعة

  • سريعة وسهلة لاقامة.
  • بحث سريع وموثوق.
  • خالية من الإعلانات للمنظمات غير الربحية والمؤسسات التعليمية.

يخدع

  • تبلغ تكلفة إصدار واجهة برمجة التطبيقات 5.00 دولارات لكل 1000 استفسار.
  • إذا لم تستخدم واجهة برمجة التطبيقات (API) ، وقمت بإنشاء إعلاناتك الخاصة ، فستحصل على إعلانات في أعلى نتائج البحث.
  • لا يوجد تخصيص ممكن للاقتراح التلقائي أو ميزات الإدخال الأخرى.
  • لا يمكن التحكم في ترتيب النتائج أو التخطيط الآن بعد أن تم إهمال بحث الموقع من Google.

البحث من جانب العميل

تعمل واجهات برمجة التطبيقات (API) الخاصة بذاكرة التخزين المؤقت والخدمة على تمكين مواقع الويب من العمل دون اتصال وبناء المرونة في الاتصال المتغير. يمكن التخزين المؤقت المحلي مع البحث من جانب العميل تمكين عدد من حالات الاستخدام. فمثلا:

  • البحث في متجر عبر الإنترنت أثناء عدم الاتصال بالإنترنت.
  • تمكين العملاء من استخدام محدد موقع المتجر أو البحث في سجل الشراء الخاص بهم.
  • توفير المرونة والانعكاسات في حالة انقطاع الاتصال.

يمكن أن يكون البحث من جانب العميل مقنعًا بشكل خاص لمجموعة صغيرة نسبيًا من البيانات لا تتغير كثيرًا. على سبيل المثال ، يبحث العرض التوضيحي هنا عن مسرحيات وأشعار شكسبير:

تتضمن مكتبات بحث النص الكامل من جانب العميل Lunr أو ElasticLunr.

توفر مجموعة من "المستندات" بتنسيق JSON ، مثل قائمة المنتجات ، ثم تنشئ فهرسًا. إليك كيفية القيام بذلك باستخدام الوحدة النمطية لدونة Flexlunr:

لبدء البحث على العميل ، تحتاج أولاً إلى جلب بيانات الفهرس وتحميلها:

لتمكين البحث في وضع عدم الاتصال ، يمكن تخزين ملف الفهرس بواسطة العميل باستخدام Cache API. بدلاً من ذلك ، يمكنك إحضار بيانات المستندات وإنشاء الفهرس على العميل ، ثم إجراء تسلسل وتخزينها محليًا.

وأخيرا:

تم تمكين WebSQL لمطابقة النص السريع (العرض التوضيحي) والبحث عن النص الكامل (العرض التوضيحي).
ومع ذلك ، تم إيقاف معيار WebSQL ولم يكن لديه سوى دعم جزئي للمتصفح.
تتم الآن إزالة البحث عن النص الكامل في WebSQL.

طليعة

  • بسيطة نسبيا لإعداد وصيانة.
  • لا محرك البحث أو قاعدة البيانات أو خدمة البحث طرف ثالث المطلوبة.
  • يتم البحث على العميل ، لذا لا تتطلب الاستعلامات رحلة ذهابًا وإيابًا على الخادم ، وبالتالي تقليل تحميل الخادم واستخدام راديو أقل على الأجهزة المحمولة.
  • البحث من جانب العميل مرن لتقلبات الاتصال.
  • يمكن أن يكون البحث من جانب العميل سريعًا للغاية لمجموعات البيانات الأصغر.
  • يمكن تمكين إمكانية البحث في وضع عدم الاتصال عن طريق التخزين المؤقت لملفات الفهرس باستخدام التخزين من جانب العميل مثل Cache API أو localStorage.
  • مفيد محتمل للمحتوى الذي لا يتم تحديثه بشكل متكرر ، أو عندما تكون التحديثات (رغم أهميتها) غير ضرورية. على سبيل المثال ، يمكن لموقع التجارة الإلكترونية استخدام البحث من جانب العميل لتمكين الوصول دون اتصال إلى مواقع المتجر.

يخدع

  • صالحة فقط لعدد محدود من البيانات - على الرغم من أن هذا قد يصل إلى عشرات الآلاف من المستندات ، وربما أكثر ، طالما كانت البيانات ثابتة نسبيًا ولا تتغير كثيرًا.
  • زمن انتقال عالٍ لتحديثات البيانات مقارنة بالبدائل من جانب الخادم.
  • المحتملة للبيانات التي لا معنى لها.
  • البحث من جانب العميل يتحمل تكلفة الذاكرة والتخزين والمعالجة. على سبيل المثال ، يستخدم العرض التوضيحي هنا (الذي يبحث في مسرحيات وأشعار شكسبير) أكثر من 200 ميغابايت من الذاكرة عند التشغيل في Chrome على سطح المكتب.
  • لا توجد حاليًا طريقة لمشاركة كائن JavaScript ، مثل فهرس البحث ، عبر عدة صفحات ، باستثناء التسلسل وتخزينه. (يتجول العاملون المشتركون حول هذا ، ولكن لا يتم تطبيقه على Chrome لنظام Android. قد يساعد SharedArrayBuffer ، ولكن تم تعطيله افتراضيًا بواسطة جميع المتصفحات الرئيسية.) ما لم تستخدم بنية SPA ، فستحتاج إلى إعادة إنشاء الفهرس في كل مرة ينتقل المستخدم إلى صفحة جديدة ، وهذا غير عملي.
  • يمكن استخدام خدمة البحث من جانب الخادم مع واجهة برمجة التطبيقات (API) عبر العديد من الأنظمة الأساسية وأنواع الأجهزة ، في حين قد يلزم تنفيذ البحث من جانب العميل لكل من الويب والوطنية ، مع احتمال وجود نسخ احتياطية من جانب الخادم.
  • حالات الاستخدام دون اتصال بالإنترنت ليست (بعد) أولوية للتجارة الإلكترونية أو غيرها من أنواع المواقع ، فلماذا تهتم بالبحث من جانب العميل؟

البحث من جانب العميل مع النسخ المتماثل الآلي

تقوم مكتبات JavaScript مثل PouchDB و SyncedDB بنفس المهمة التي تقوم بها المكتبات من جانب العميل الموضحة أعلاه ، ولكنها توفر أيضًا إمكانية مزامنة البيانات تلقائيًا على العميل مع قاعدة بيانات خلفية ، اختياريًا في كلا الاتجاهين.

يمكنك تجربة عرض PouchDB ممكّن في وضع عدم الاتصال هنا.

طليعة

  • من الناحية النظرية "أفضل ما في العالمين": يتم البحث على العميل ، يتم تحديث البيانات باستمرار.
  • تمكين البحث في وضع عدم الاتصال.
  • كما هو الحال مع الأنواع الأخرى من البحث من جانب العميل ، يقلل عدد الطلبات ، وبالتالي يحتمل أن يقلل من حمل الخادم واستخدام راديو الجهاز.
  • لتمكين المزامنة ثنائية الاتجاه ، وربما لنقاط نهاية متعددة.

يخدع

  • الهندسة المعمارية أكثر تعقيدًا من مجرد الاحتفاظ بالبيانات كملف JSON (على سبيل المثال): مطلوب خادم قاعدة بيانات.
  • كما هو الحال مع الأنواع الأخرى من البحث من جانب العميل ، تتكلف المعالجة تكلفة البطارية ، والحجم المحتمل لمجموعة البيانات محدود بحصة التخزين من جانب العميل.
  • بالنسبة للعميل الذي يتمتع باتصال جيد ، يحتمل أن يكون أبطأ من قاعدة البيانات أو محرك البحث الخلفي السريع.

ماذا عن UX و UI؟

إدخال الاستعلام

لقد حان الناس لتوقع مستوى عال من التصميم لإدخال استعلام البحث ، وخاصة في مواقع التسوق. وظيفة مثل مطابقة مرادف و autosuggest هي الآن القاعدة.

على سبيل المثال ، تقوم Asos بعمل رائع في تسليط الضوء على التطابقات واقتراح الفئات والعلامات التجارية الأخرى:

تحتوي هذه المقالة على أمثلة رائعة أخرى للبحث عالي الجودة ، وتوفر إرشادات معقولة لتصميم إدخال البحث.

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

  • البحث عن النص العام: هاتف جوجل ، الروبوت المحمول
  • اسم المنتج: بكسل ، هاتف بكسل ، بكسل 2
  • مواصفات المنتج: بكسل 64GB كيندا الأزرق
  • رقم المنتج: G-2PW4100
  • الفئة: الهاتف ، المحمول ، الهاتف الذكي

نتائج البحث

محتوى نتائج البحث والعرض التقديمي أمر بالغ الأهمية:

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

يوفر Screwfix خيارات الخروج مباشرة على صفحة نتائج البحث ، ويقوم تلقائيًا بتحويل استعلام (في هذه الحالة إلى bosch drill) إلى مجموعة من النتائج مصفاة ، يتضمن كل منها تصنيفًا للمراجعة ومستوى معقول من تفاصيل المنتج:

على النقيض من ذلك ، تحافظ Made على النتائج نظيفة ومرتبة ، والتي تناسب العلامة التجارية:

يطلب موقع ft.com الأخبار حسب التاريخ ويقترح خيارات معقولة لتحسين النتائج:

يركز Getty Images على ... الصور! يتم توفير خيارات التصفية استنادًا إلى البيانات الأولية المتاحة ، إلى جانب خيارات التصميم والعرض:

اعتبارات متعددة الوظائف

البحث لا يعيش في فراغ. تحتاج التطبيقات الناجحة إلى تواصل جيد بين مختلف أصحاب المصلحة:

  • يتطلب الحفاظ على وظيفة البحث عالية الجودة تعاونًا مستمرًا بين الوظائف بين خبراء الموضوعات وموفري المحتوى ومطوري التطبيقات ومطوري البرامج الخلفية والمصممين وفرق التسويق والمبيعات. تحتاج الفرق المختلفة إلى التوفيق بين الأولويات المختلفة - وفهم من له الكلمة الأخيرة!
  • غالبًا ما تسبب التغييرات مشاكل أو تأثيرات غير متوقعة. على سبيل المثال ، قد يؤدي الغموض المتزايد والارتطام إلى تحسين بعض عمليات البحث مما يؤدي إلى ظهور نتائج بحث أخرى غير ذات صلة.
  • اجعل من السهل على غير التقنيين ضبط ميزات مثل البحث الإكمال التلقائي والمرادف ، أو إضافة الترويج والمحتوى المميز الآخر لعمليات البحث.

البحث الصوت والفيديو

إذا كان لديك محتوى فيديو أو صوت ، فيمكنك تمكين المستخدمين من العثور عليه من خلال البحث في البيانات الأولية مثل العناوين والأوصاف.

هناك نوعان من المشاكل مع هذا النهج:

  • البحث مخصص فقط للبيانات الوصفية وليس المحتوى.
  • إذا تم العثور على تطابق ، فسيكون ذلك فقط "المستوى الأعلى" لملف الصوت أو الفيديو.

إذا كان الصوت أو الفيديو الخاص بك يحتوي على تسميات توضيحية أو ترجمات أو أنواع أخرى من "البيانات الوصفية الموقوتة" ، فيمكن أن يكون البحث والتنقل أكثر دقة.

على سبيل المثال ، يبحث العرض التوضيحي هنا عن تسميات توضيحية لمطوري برامج Google ، ويمكّن التنقل إلى نقاط محددة داخل مقاطع الفيديو. يتم استضافة المحتوى في العرض التوضيحي على YouTube ، والذي يستخدم تنسيق SRT للتسميات التوضيحية. يمكنك مشاهدة هذا الإجراء إذا شاهدت نسخة فيديو يوتيوب تمت تسميته يدويًا مثل الفيديو الموجود هنا:

يمكن لمواقع الويب استخدام الترجمة والتعليقات التوضيحية مع عنصر المسار (العرض التوضيحي هنا) باستخدام تنسيق WebVTT ، والذي يشبه إلى حد بعيد SRT:

اختبارات

مهما فعلت ، اختبر التغييرات وراقب التحليلات وتسجيل البحث. بناء اختبار قابليتها للاستخدام الخصم في سير العمل الخاص بك.

اجعل من السهل على غير التقنيين مراقبة وفهم إحصاءات البحث:

  • ما الذي يبحث عنه الأشخاص أكثر؟ ما الذي لا يبحث عنه الناس؟
  • متى ولماذا لا تقدم بعض الاستعلامات نتائج؟ هل يمكن إصلاح هذه عن طريق إضافة مرادفات أو اقتراحات التدقيق الإملائي؟
  • متى يؤدي البحث إلى بيع أو أي نوع آخر من "التحويل"؟
  • تحقق من التحليلات لعمليات البحث التي تؤدي إلى خروج المستخدمين من الموقع بدلاً من النقر فوق نتيجة.

اكتشف المزيد

تثبيت واستخدام محركات البحث والخدمات المدارة

توضح المقالةان التاليان بمزيد من التفصيل كيفية إعداد واستخدام العديد من محركات البحث والخدمات المدارة الأكثر شعبية:

  • المزيد عن محركات البحث
  • المزيد عن البحث كخدمة

المقالات والكتب والبودكاست

  • 24 تلميحًا لأفضل الممارسات للبحث في موقع التجارة الإلكترونية: تجميع معقول لنصائح UI و UX.
  • بناء بحث جديد عن FT.com: كيف أعاد موقع الأخبار الناجح بناء وظيفة البحث لـ 720،000 عنصر من المحتوى.
  • بحث ذات صلة: كتاب مطبوع فعلي! فصول مجانية على الإنترنت ، والبودكاست.
  • مقدمة لاسترجاع المعلومات: ما يقرب من 10 سنوات ، ولكن لا تزال ذات صلة للغاية ومجانية القراءة على الإنترنت.
  • محركات البحث المستندة إلى الذكاء الاصطناعي: مقالة علمية أمريكية حول محركات بحث علمية مجانية قائمة على الذكاء الاصطناعي.
  • البحث الصوتي
    مستقبل البحث هو مساعدين رقميين للصوت والشخصية
    لماذا تحتاج للتحضير لثورة البحث الصوتي
    كيف تقوم الواجهات الصوتية فقط بتغيير البحث وتؤدي إلى أنواع مختلفة من التفاعلات بين الإنسان والحاسوب. المزيد من الإحصاءات حول البحث الصوتي هنا. وفقًا لـ comScore ، ستكون "50٪ من جميع عمليات البحث عبارة عن عمليات بحث صوتي بحلول عام 2020".
  • لماذا يجب ألا أستخدم ElasticSearch كمخزن بيانات أساسي ؟: مناقشة لماذا ربما لا تزال بحاجة إلى قاعدة بيانات.
  • تطبيق البحث من جانب العميل باستخدام Vue.js: رمز بسيط لإضافة بحث نصي لمجموعة بيانات JSON باستخدام fuzzaldrin-plus.
  • كيف تعالج Algolia مشكلة محركات البحث: كيف يصنّف محرك بحث Algolia النتائج ، مع وجود خيط تعليق مثير للجدل يشكك في بعض مطالباتهم.
  • كيف يعمل البحث: نظرة عامة على الفيديو من بحث Google.

شكرا لجميع الناس الذين ساعدوا في هذا المقال.