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

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

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

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

سناریوی مثال

برای مثال، فرض کنید منبع داده زیر را دارید که شامل داده‌هایی درباره فیلم‌ها است:

  • منبع داده شامل 2 سند است.
  • هر سند دارای یک عنوان ( ItemMetadata.title ) و دو ویژگی است: genre و characters .
  • عنوان سند اول «انتقام‌جویان: جنگ ابدیت» است و genre=science fiction و characters=Iron Man, Hulk
  • عنوان سند دوم «هری پاتر» است و genre=Adventure, Fantasy and شخصیت‌های آن هرمیون و هری پاتر هستند.

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

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

از سند ۱، ngramها (تا سه‌خطی‌ها) «انتقام‌جویان»، «بی‌نهایت»، «جنگ»، «انتقام‌جویان بی‌نهایت»، «جنگ بی‌نهایت»، «انتقام‌جویان جنگ بی‌نهایت» را استخراج می‌کنیم. به طور مشابه از سند ۲، «هری»، «پاتر»، «هری پاتر» را تولید می‌کنیم.

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

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

فرض کنید کاربر پیشنهاد تکمیل خودکار «هرمیون» را انتخاب می‌کند و کلید بعدی که کاربر فشار می‌دهد کاراکتر «a» است. پیشنهادهای تکمیل خودکار نشان داده شده به کاربر به صورت زیر خواهد بود:

  • ماجراجویی هرمیون
  • اکشن هرمیون
  • انتقام‌جویان هرمیون

تکمیل خودکار سعی می‌کند آخرین کلمه (یا ngram) تایپ شده را کامل کند. در مثال قبلی، فقط "a" را به "adventure"، "action" و "avengers" بسط می‌دهد، زیرا هیچ متنی با "hermione a" شروع نمی‌شود. این پیشنهاد، پیشنهاد دم نامیده می‌شود؛ تکمیل خودکار فقط آخرین کلمه/n-gram تایپ شده است.

قابلیت تکمیل خودکار جستجوی ابری (Cloud Search) حداکثر ۵ پیشنهاد از محتوای سند و ۲ پیشنهاد از افراد مختلف را برمی‌گرداند.

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

ادغام با API تکمیل خودکار

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

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

محدودیت‌ها

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

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

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

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

  • تکمیل خودکار عملگر جستجو برای ویژگی‌هایی که دارای exact_match_with_operator هستند، در دسترس نیست.

  • قابلیت تکمیل خودکار جستجوی ابری (Cloud Search) حداکثر ۵ پیشنهاد از محتوای سند و ۲ پیشنهاد از افراد مختلف را برمی‌گرداند.

  • قابلیت تکمیل خودکار جستجوی ابری، فقط عباراتی را پیشنهاد می‌دهد که کاربر به آنها دسترسی دارد.