השלמה אוטומטית

ההשלמה האוטומטית ב-Google Cloud Search עוזרת למשתמשים על ידי הצעת מילים בזמן שהם מקלידים שאילתת חיפוש. לדוגמה, ההצעות יכולות לכלול מילים מכותרות של מסמכים, פעולות חיפוש (אופרטורים) או שמות מהארגון שלכם ב-Google Workspace.

ההשלמה האוטומטית מחלצת ביטויים מכותרות של מסמכים באינדקס ומשתמשת במודל n-gram כדי לקבוע הצעות באמצעות Suggest API. כברירת מחדל, ההשלמה האוטומטית מציגה ביטויים משמות המסמכים. אפשר גם לסמן מאפייני סכימה של טקסט ו-enum כ-is_suggestable כדי להשלים אוטומטית את שמות המאפיינים והערכים.

ה-API של ההצעות בודק את שאילתות החיפוש כדי לזהות רמזים לשפה, כמו אנגלית או ספרדית, ונותן עדיפות לתוצאות. השדה languageCode בבקשה גם משפר את ההצעות שספציפיות לשפה.

תרחיש לדוגמה

נניח שיש מקור נתונים שמכיל נתונים על סרטים:

  • מקור הנתונים מכיל שני מסמכים.
  • לכל מסמך יש שם (ItemMetadata.title) ושני מאפיינים: genre ו-characters.
  • שם מסמך 1: "Avengers Infinity War"; genre=science fiction; characters=Iron Man, Hulk.
  • כותרת מסמך 2: 'הארי פוטר'; genre=Adventure, Fantasy; characters=Hermione, Harry Potter.

באיור 1 מוצג תהליך החילוץ של ההצעות להשלמה אוטומטית.

שני מסמכים ו-n-gram שנוצר כתוצאה מכך
איור 1. שני מסמכים ו-n-gram שנוצר מהם ומשמש להשלמה אוטומטית

מהמסמך 1, המודל מחלץ n-גרמים (עד טריגרמים) כמו 'הנוקמים', 'מלחמת האינסוף', 'מלחמת האינסוף' ו'הנוקמים: מלחמת האינסוף'. ממסמך 2, הוא יוצר את המילים 'הארי', 'פוטר' ו'הארי פוטר'.

אם משתמש מקליד 'h' בשאילתה של מקור הנתונים הזה, יכול להיות שיוצגו לו ההצעות הבאות:

  • Harry
  • הרמיוני
  • Hulk
  • הארי פוטר

אם המשתמש בוחר באפשרות 'הרמיוני' ואז מקליד 'א', יכול להיות שההשלמה האוטומטית תציג:

  • הרפתקה של הרמיוני
  • Hermione Action
  • Hermione Avengers

ההשלמה האוטומטית מנסה להשלים את המילה האחרונה או את ה-n-גרם שהוקלדו. בדוגמה הזו, המערכת מרחיבה את 'a' ל-'adventure',‏ 'action' ו-'avengers' כי אין טקסט באינדקס שמתחיל ב-'hermione a.‎'. זו הצעה לסיום.

ההשלמה האוטומטית ב-Cloud Search מחזירה עד חמש הצעות מתוכן המסמכים ושתי הצעות לאנשים.

כברירת מחדל, ההשלמה האוטומטית מציגה ביטויים משמות של מסמכים. כדי שממשק ה-API של ההצעות ישלים אוטומטית את שמות הנכסים והערכים שלהם, צריך לסמן במפורש את מאפייני הסכימה כ-is_suggestable.

שילוב עם Suggest API

אם משתמשים באפליקציית החיפוש שמוגדרת כברירת מחדל או בווידג'ט החיפוש שאפשר להטמיע, Cloud Search תומך בהשלמה אוטומטית באופן מובנה. אם רוצים שהמערכת תשלים אוטומטית מאפיינים של סכימה, צריך לסמן אותם כis_suggestable.

אם אתם יוצרים אפליקציית חיפוש בהתאמה אישית, תוכלו להשתמש ב/query/suggest נקודות הקצה של ה-API כדי להוסיף השלמה אוטומטית.

מגבלות

יש כמה מגבלות להשלמה האוטומטית:

  • הגבלת ביטויי השלמה אוטומטית באמצעות FilterOptions לא נתמכת, למעט מסננים מובנים כמו objecttype ו-mimetype.
  • אין תמיכה בהצעות שמבוססות על היסטוריית השאילתות של המשתמש.
  • אפשר לסמן עד 20 נכסים כis_suggestable. כדי להגדיל את המגבלה הזו, צריך לפנות לתמיכה של Cloud Search.
  • ההשלמה האוטומטית של אופרטורים לחיפוש לא זמינה בנכסים עם exact_match_with_operator.
  • ההשלמה האוטומטית מחזירה עד חמש הצעות לתוכן המסמך ושתי הצעות לאנשים.
  • ההשלמה האוטומטית מציעה רק ביטויים ממסמכים שהמשתמש יכול לגשת אליהם.