تنفيذ الإكمال التلقائي

تساعد ميزة الإكمال التلقائي في Cloud Search المستخدم من خلال اقتراح كلمات أثناء كتابة طلب بحث. على سبيل المثال، قد تكون الاقتراحات كلمات من عناوين المستندات أو عوامل تشغيل البحث أو قيم عوامل تشغيل البحث أو الأسماء وعناوين البريد الإلكتروني من مؤسسة Google Workspace.

تستخرج ميزة "الإكمال التلقائي" عبارات من عناوين المستندات المفهرسة، وتستخدم نموذج n-gram لتحديد الاقتراحات التي سيتم عرضها باستخدام Suggest API. تظهر تلقائيًا عبارات من عناوين المستندات في ميزة الإكمال التلقائي. يمكنك أيضًا وضع علامة is_suggestable على خصائص نصية وخصائص تعدادية في مخططات schema لإكمال اسم الخاصية والقيم المقابلة تلقائيًا.

يفحص Suggest API طلب البحث بحثًا عن تلميحات حول لغة طلب البحث، مثل الإنجليزية أو الإسبانية، ويمنح الأولوية للنتائج وفقًا لذلك. يتم أيضًا استخدام حقل languageCode في الطلب لتحسين الاقتراحات الخاصة بلغة معيّنة.

مثال على السيناريو

على سبيل المثال، لنفترض أنّ لديك مصدر البيانات التالي الذي يتضمّن بيانات حول الأفلام:

  • يحتوي مصدر البيانات على مستندَين.
  • يحتوي كل مستند على عنوان (ItemMetadata.title) وخاصيتَين: genre وcharacters.
  • عنوان المستند الأول هو "حرب اللانهاية" مع genre=science fiction وcharacters=Iron Man, Hulk
  • عنوان المستند الثاني هو "هاري بوتر" مع genre=Adventure, Fantasy andcharacters=هيرميون، هاري بوتر`

يوضّح الشكل 1 كيفية استخراج اقتراحات الإكمال التلقائي من عناوين المستندات وخصائصها وقيم الخصائص.

مستندَين وngram الناتج
الشكل 1. مستندَين وn-gram الناتج المستخدَم في الإكمال التلقائي

من المستند 1، نستخرج n-gram (ما يصل إلى ثلاثيات) "المنتقمون" و"الحرب" و"اللانهاية" و"المنتقمون: الحرب اللانهائية" و"الحرب اللانهائية" و"المنتقمون: الحرب اللانهائية". وبالمثل، من المستند 2، ننشئ "هاري" و"بوتر" و"هاري بوتر".

عند طلب البحث من مصدر البيانات هذا، لنفترض أنّ المستخدم يبدأ بكتابة "h". ستكون الاقتراحات المعروضة للمستخدم كما يلي:

  • CANNOT TRANSLATE
  • هيرميون
  • Hulk
  • هاري بوتر

لنفترض أنّ المستخدم اختار اقتراح الإكمال التلقائي "هيرميون" وأنّ ضغطة المفتاح التالية من المستخدم هي الحرف "أ". ستكون اقتراحات الإكمال التلقائي المعروضة للمستخدم كما يلي:

  • Hermione Adventure
  • Hermione Action
  • Hermione Avengers

تحاول ميزة "الإكمال التلقائي" إكمال الكلمة الأخيرة (أو مجموعة الكلمات) التي يتم كتابتها. في المثال السابق، يتم توسيع "a" إلى "adventure" و"action" و"avengers" فقط لأنّه لا يوجد نص يبدأ بـ "hermione a" معًا. يُطلق على هذا الاقتراح اسم اقتراح الذيل، وهو يكمل تلقائيًا الكلمة الأخيرة أو n-gram فقط.

تعرض ميزة الإكمال التلقائي في Cloud Search ما يصل إلى 5 اقتراحات من محتوى المستندات واقتراحَين للأشخاص.

بشكل تلقائي، تظهر العبارات من عناوين المستندات في الإكمال التلقائي. يجب وضع علامة is_suggestable على خصائص المخطط بشكل صريح لكي تتمكّن واجهة برمجة التطبيقات الخاصة بالاقتراحات من إكمال اسم الخاصية والقيم ذات الصلة تلقائيًا.

دمج واجهة Autocomplete API

إذا كنت تستخدم تطبيق البحث التلقائي أو أداة البحث القابلة للتضمين، ستكون ميزة الإكمال التلقائي في Cloud Search متاحة تلقائيًا بدون الحاجة إلى اتّخاذ أي إجراءات إضافية. تذكَّر أنّه يتم تلقائيًا عرض عبارات من عناوين المستندات في الإكمال التلقائي. يجب وضع علامة is_suggestable بشكل صريح على خصائص المخطط لكي تتمكّن واجهة برمجة التطبيقات الخاصة بالاقتراحات من إكمال اسم الخاصية والقيم المقابلة تلقائيًا.

إذا كنت بصدد إنشاء تطبيق بحث مخصّص، تتوفّر ميزة الإكمال التلقائي من خلال طلب البحث من نقاط نهاية واجهة برمجة التطبيقات /query/suggest.

القيود

تخضع ميزة "الإكمال التلقائي" للقيود التالية:

  • لا يمكن حصر عبارات الإكمال التلقائي في Cloud Search باستخدام FilterOptions المحدّد في المخطط، باستثناء الفلاتر المضمّنة التالية: objectype وmimetype وفلاتر الأنواع.

  • لا تتوفّر اقتراحات مستندة إلى سجلّ طلبات البحث (عمليات البحث التي أجراها المستخدم سابقًا في تطبيق بحث).

  • يمكن وضع علامة is_suggestable على 20 موقعًا كحدّ أقصى. يمكن زيادة هذا الحدّ من خلال التواصل مع فريق دعم Cloud Search.

  • لا تتوفّر ميزة الإكمال التلقائي لعوامل تشغيل البحث في المواقع التي تتضمّن exact_match_with_operator.

  • تعرض ميزة الإكمال التلقائي في Cloud Search ما يصل إلى 5 اقتراحات من محتوى المستندات واقتراحَين للأشخاص.

  • لا تقترح ميزة الإكمال التلقائي في Cloud Search عبارات إلا من المستندات التي يمكن للمستخدم الوصول إليها.