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

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

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

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

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

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

  • يحتوي مصدر البيانات على مستندين.
  • يتضمّن كل مستند عنوانًا (ItemMetadata.title) وسمتَين: genre وcharacters.
  • المستند الأول بعنوان "Avengers Infinity War" مع genre=science fiction وcharacters=Iron Man, Hulk
  • المستند الثاني بعنوان "هاري بوتر" ويتضمّن genre=Adventure, Fantasy and أحرف=هيرميون، هاري بوتر

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

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

من المستند 1، نستخرج ngrams (حتى التريغرام) "Avengers" و"Infinity" وWar" و"Avengers Infinity" وInfinity War و"Avengers Infinity War". وبالمثل من المستند 2، ننشئ "Harry" و"Potter" و"هاري بوتر".

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

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

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

  • مغامرة هيرميون
  • فيلم هيرميوني أكشن
  • فيلم هيرميون أفنجرز

تحاول ميزة "الإكمال التلقائي" إكمال الكلمة الأخيرة (أو ngram) التي تتم كتابتها. في المثال السابق، تم توسيع حرف "a" إلى "المغامرة" و"الإجراء" و"المنتقدين" نظرًا لعدم وجود نص يبدأ بكلمة "هيرميون إي" معًا. ويُطلق على هذا الاقتراح اسم "اقتراح ذيل"، وهو الإكمال التلقائي لآخر كلمة أو n-غرام فقط تمت كتابتها.

تعرض ميزة الإكمال التلقائي في 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 عبارات فقط من تلك المستندات التي يمكن للمستخدم الوصول إليها.