تکمیل خودکار را پیاده سازی کنید

تکمیل خودکار Cloud Search با پیشنهاد کلمات هنگام تایپ یک عبارت جستجو به کاربر کمک می کند. برای مثال، پیشنهادها ممکن است کلماتی از عنوان سند، عملگرهای جستجو، مقادیر اپراتور جستجو، یا نام‌ها و آدرس‌های ایمیل از سازمان Google Workspace باشند.

تکمیل خودکار عبارات را از عناوین اسناد نمایه شده استخراج می کند و با استفاده از مدل n-gram ، پیشنهاداتی را برای ارائه با استفاده از Suggest API تعیین می کند. به طور پیش فرض، عباراتی از عنوان سند در تکمیل خودکار نشان داده می شود. همچنین می‌توانید ویژگی‌های طرحواره متن و enum را به‌عنوان is_suggestable علامت‌گذاری کنید تا نام و مقادیر ویژگی مربوطه را تکمیل کنید.

Suggest API عبارت جستجو را برای نکاتی در مورد زبان پرس و جو مانند انگلیسی یا اسپانیایی بررسی می کند و نتایج را بر این اساس اولویت بندی می کند. فیلد languageCode یک درخواست نیز برای بهبود پیشنهادات خاص زبان استفاده می شود.

سناریوی نمونه

برای مثال، فرض کنید منبع داده زیر حاوی داده‌های مربوط به فیلم‌ها را دارید:

  • منبع داده شامل 2 سند است.
  • هر سند دارای یک عنوان ( ItemMetadata.title ) و دو ویژگی است: genre و characters .
  • اولین سند با عنوان "Avengers Infinity War" با genre=science fiction و characters=Iron Man, Hulk
  • سند دوم با عنوان "هری پاتر" با genre=Adventure, Fantasy and شخصیت ها = هرمیون، هری پاتر`

شکل 1 نشان می دهد که چگونه پیشنهادات تکمیل خودکار از عناوین سند، ویژگی ها و مقادیر ویژگی استخراج می شوند.

دو سند و ngram حاصل
شکل 1. دو سند و n-gram حاصل برای تکمیل خودکار استفاده می شود

از سند 1، ngram ها (تا تریگرام) "Avengers"، "Infinity"، "War"، "Avengers Infinity"، "Infinity War"، "Avengers Infinity War" را استخراج می کنیم. به طور مشابه از سند 2، "هری"، "پاتر"، "هری پاتر" را تولید می کنیم.

هنگام پرس و جو از این منبع داده، فرض کنید کاربر با تایپ "h" شروع می کند. پیشنهاداتی که به کاربر نشان داده می شود عبارتند از:

  • هری
  • هرمیون
  • هالک
  • هری پاتر

فرض کنید کاربر پیشنهاد تکمیل خودکار "Hermione" را انتخاب کرده و کلید بعدی کاربر کاراکتر "a" است. پیشنهادات تکمیل خودکار نشان داده شده به کاربر عبارتند از:

  • ماجراجویی هرمیون
  • اکشن هرمیون
  • هرمیون اونجرز

تکمیل خودکار سعی می کند آخرین کلمه (یا ngram) در حال تایپ را تکمیل کند. در مثال قبلی، فقط «a» را به «ماجراجویی»، «اکشن» و «انتقام‌جویان» گسترش می‌دهد، زیرا هیچ متنی وجود ندارد که با «هرمیون a» شروع شود. به این پیشنهاد، پیشنهاد دم می گویند. تکمیل خودکار فقط آخرین کلمه/n-gram در حال تایپ.

تکمیل خودکار Cloud Search حداکثر 5 پیشنهاد از محتوای سند و پیشنهاد 2 نفر را برمی‌گرداند.

به طور پیش فرض، عباراتی از عنوان سند در تکمیل خودکار نشان داده می شود. ویژگی های طرحواره باید به طور صریح به عنوان is_suggestable علامت گذاری شوند تا API پیشنهادی برای تکمیل خودکار نام و مقادیر ویژگی مربوطه.

با Autocomplete API ادغام شود

اگر از برنامه جستجوی پیش‌فرض یا ویجت جستجوی جاسازی‌شده استفاده می‌کنید، ویژگی تکمیل خودکار Cloud Search به صورت بومی و بدون هیچ کار اضافی پشتیبانی می‌شود. به یاد داشته باشید، به طور پیش فرض، عباراتی از عنوان سند در تکمیل خودکار نشان داده می شود. ویژگی های طرحواره باید به طور صریح به عنوان is_suggestable علامت گذاری شوند تا API پیشنهادی برای تکمیل خودکار نام و مقادیر ویژگی مربوطه.

اگر در حال ساختن یک برنامه جستجوی سفارشی هستید، تکمیل خودکار با پرس و جو از /query/suggest نقاط پایانی API در دسترس است.

محدودیت ها

تکمیل خودکار محدودیت های زیر را دارد:

  • محدود کردن عبارت‌های تکمیل خودکار Cloud Search با استفاده از FilterOptions تعریف‌شده در طرح، به جز فیلترهای داخلی زیر پشتیبانی نمی‌شود: objectype ، mimetype ، و type filters.

  • پیشنهادات مبتنی بر تاریخچه پرس و جو (جستجوهای انجام شده توسط کاربر قبلاً در یک برنامه جستجو) پشتیبانی نمی شوند

  • حداکثر 20 ویژگی را می توان به عنوان is_suggestable علامت گذاری کرد. این محدودیت را می توان با تماس با پشتیبانی Cloud Search افزایش داد.

  • تکمیل خودکار اپراتور جستجو برای خواص دارای exact_match_with_operator در دسترس نیست.

  • تکمیل خودکار Cloud Search حداکثر 5 پیشنهاد از محتوای سند و پیشنهاد 2 نفر را برمی‌گرداند.

  • تکمیل خودکار Cloud Search فقط عباراتی را از اسنادی که کاربر به آنها دسترسی دارد پیشنهاد می کند.