توفّر أداة البحث المصغّرة واجهة بحث قابلة للتخصيص لتطبيقات الويب. يتطلّب الحد الأدنى من HTML وJavaScript للتنفيذ ويتوافق مع الميزات الشائعة، مثل الأوجه والتقسيم على صفحات. يمكنك أيضًا تخصيص الواجهة باستخدام CSS وJavaScript.
إذا كنت بحاجة إلى مزيد من المرونة، استخدِم Query API. يمكنك الاطّلاع على إنشاء واجهة بحث باستخدام Query API.
إنشاء واجهة بحث
يتطلّب إنشاء واجهة البحث اتّباع الخطوات التالية:
- إعداد تطبيق بحث
- أنشئ معرّف عميل للتطبيق.
- أضِف ترميز HTML لمربّع البحث والنتائج.
- حمِّل الأداة على الصفحة.
- إعداد التطبيق المصغّر
إعداد تطبيق بحث
تتطلّب كل واجهة بحث تطبيق بحث محدّدًا في "وحدة تحكّم المشرف". يوفر التطبيق إعدادات طلب البحث، مثل مصادر البيانات والواجهات ومعلمات جودة البحث.
لإنشاء تطبيق بحث، يُرجى الاطّلاع على مقالة إنشاء تجربة بحث مخصّص.
إنشاء معرّف عميل للتطبيق
بالإضافة إلى الخطوات الواردة في إعداد إذن الوصول إلى Cloud Search API، عليك إنشاء معرّف عميل لتطبيق الويب.
عند ضبط إعدادات المشروع:
- اختَر نوع العميل متصفّح الويب.
- قدِّم معرّف الموارد الموحّد (URI) الخاص بالمصدر لتطبيقك.
- سجِّل معرّف العميل. لا تتطلّب الأداة سر العميل.
لمزيد من المعلومات، يُرجى الاطّلاع على بروتوكول OAuth 2.0 لتطبيقات الويب من جهة العميل.
إضافة ترميز HTML
تتطلّب الأداة عناصر HTML التالية:
- عنصر
inputلمربّع البحث - عنصر لتثبيت مربّع حوار الاقتراحات
- عنصر لنتائج البحث
- (اختياري) عنصر لعناصر التحكّم في التصنيف حسب الأوجه.
تعرض هذه المقتطفات عناصر تم تحديدها من خلال سمات id:
تحميل التطبيق المصغّر
أدرِج أداة التحميل باستخدام علامة <script>:
توفير onload دالة رد الاتصال عندما يكون برنامج التحميل جاهزًا، استدعِ الدالة
gapi.load()
لتحميل وحدات واجهة برمجة التطبيقات والعميل و"تسجيل الدخول باستخدام حساب Google" و"Cloud Search".
إعداد التطبيق المصغّر
ابدأ مكتبة العميل باستخدام gapi.client.init() أو
gapi.auth2.init() مع معرّف العميل ونطاق
https://www.googleapis.com/auth/cloud_search.query. استخدِم فئات أداة الإنشاء لضبط التطبيق المصغّر وربطه.
مثال على عملية الإعداد:
متغيّرات الإعداد:
تخصيص تجربة تسجيل الدخول
تطلب الأداة من المستخدمين تسجيل الدخول عند بدء الكتابة. يمكنك استخدام تسجيل الدخول باستخدام حساب Google للمواقع الإلكترونية للحصول على تجربة مخصّصة.
منح المستخدمين الإذن مباشرةً
استخدِم ميزة تسجيل الدخول باستخدام حساب Google لمراقبة حالات تسجيل الدخول وإدارتها.
يستخدم هذا المثال GoogleAuth.signIn() عند النقر على زر:
تسجيل دخول المستخدمين تلقائيًا
يمكنك منح التطبيق إذنًا مسبقًا للمستخدمين في مؤسستك من أجل تبسيط عملية تسجيل الدخول. ويفيد ذلك أيضًا مع Cloud Identity Aware Proxy. اطّلِع على استخدام ميزة "تسجيل الدخول باستخدام حساب Google" مع تطبيقات تكنولوجيا المعلومات.
تخصيص الواجهة
يمكنك تغيير مظهر التطبيق المصغّر من خلال:
- تجاوز الأنماط باستخدام CSS
- تزيين العناصر باستخدام محوّل
- إنشاء عناصر مخصّصة باستخدام أداة ربط
تجاوز الأنماط باستخدام CSS
يتضمّن التطبيق المصغّر ملف CSS خاصًا به. لتجاوز ذلك، استخدِم محدّدات العناصر الأصلية لزيادة التحديد:
#suggestions_anchor .cloudsearch_suggestion_container {
font-size: 14px;
}
راجِع مرجع فئات CSS المتوافقة.
تزيين العناصر باستخدام محوّل
أنشئ مسهِّلاً وسجِّله لتعديل العناصر قبل عرضها. يضيف هذا المثال فئة CSS مخصّصة:
تسجيل المحوّل أثناء عملية الإعداد:
إنشاء عناصر مخصّصة باستخدام أداة ربط
استخدِم createSuggestionElement أو createFacetResultElement أو createSearchResultElement لإنشاء مكوّنات مخصّصة لواجهة المستخدم. يستخدِم هذا المثال علامات <template> HTML:
سجِّل المحوّل باتّباع الخطوات التالية:
يجب أن تتّبع عناصر الفئة الفرعية المخصّصة القواعد التالية:
- أضِف
cloudsearch_facet_bucket_clickableإلى العناصر القابلة للنقر. - ضَع كل مجموعة بيانات في
cloudsearch_facet_bucket_container. - الحفاظ على ترتيب المجموعات من الردّ
على سبيل المثال، تعرض المقتطفة التالية أوجهًا باستخدام روابط بدلاً من مربّعات الاختيار.
تخصيص سلوك البحث
تجاوز إعدادات تطبيق البحث عن طريق اعتراض الطلبات باستخدام أداة ربط
استخدِم interceptSearchRequest لتعديل الطلبات قبل تنفيذها. يقصر هذا المثال الطلبات على مصدر محدّد:
سجِّل المحوّل باتّباع الخطوات التالية:
يتم استخدام رمز HTML التالي لعرض مربّع اختيار للفلترة حسب المصادر:
يستمع الرمز التالي إلى التغيير، ويضبط التحديد، ويعيد تنفيذ طلب البحث إذا لزم الأمر.
يمكنك أيضًا اعتراض استجابة البحث من خلال تنفيذ
interceptSearchResponse
في المحوّل.
تثبيت الإصدارات
- إصدار واجهة برمجة التطبيقات: اضبط القيمة
cloudsearch.config/apiVersionقبل بدء عملية التهيئة. - إصدار التطبيق المصغّر: استخدِم
gapi.config.update('cloudsearch.config/clientVersion', 1.1).
يتم ضبط كلتا القيمتين تلقائيًا على 1.0 في حال عدم ضبطهما.
على سبيل المثال، لتثبيت الأداة على الإصدار 1.1، اتّبِع الخطوات التالية:
تأمين واجهة البحث
اتّبِع أفضل ممارسات الأمان لتطبيقات الويب، خاصةً لمنع اختطاف النقرات.
تفعيل تصحيح الأخطاء
استخدِم
interceptSearchRequest
لتفعيل تصحيح الأخطاء:
if (!request.requestOptions) {
request.requestOptions = {};
}
request.requestOptions.debugOptions = {enableDebugging: true};
return request;