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

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

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

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

תרחיש לדוגמה

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

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

איור 1 ממחיש כיצד הצעות ההשלמה האוטומטית נשלפות מכותרות המסמכים, מהנכסים ומערכי המאפיינים.

שני מסמכים וה-ngram שמתקבל
איור 1. שני מסמכים ו-n-gram שהתקבלו מהם משמשים להשלמה אוטומטית

ממסמך 1, אנחנו שולפים אנגרמים (עד טריגרים) "הנוקמים", "אינסוף", "מלחמה", "הנוקמים האינסוף", "מלחמת האינסוף", "הנוקמים האינסוף". בדומה למסמך 2, אנחנו מפיקים את "הארי", "פוטר", "הארי פוטר".

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

  • רועי
  • הרמיונה
  • HULK
  • הארי פוטר

נניח שהמשתמש בוחר בהצעת ההשלמה האוטומטית "הרמיון", וההקשה הבאה על ידי המשתמש היא התו "a". הצעות ההשלמה האוטומטית שיוצגו למשתמש:

  • הרפתקת הרמיוני
  • הרמיוני אקשן
  • הנוקמים של הרמיוני

ההשלמה האוטומטית מנסה להשלים את המילה האחרונה (או ה-ngram) שמוקלדת. בדוגמה הקודמת, הסיומת "a" מרחיבה את "a" ל"הרפתקה", "פעולה" ו"הנוקמים", מאחר שאין טקסט שמתחיל ב-"הרמיון a" יחד. ההצעה הזו נקראת 'הצעת זנב'. השלמה אוטומטית רק של המילה האחרונה שהוקלדה.

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

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

שילוב עם ממשק ה-API של ההשלמה האוטומטית

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

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

מגבלות

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

  • אין תמיכה בהגבלה של ביטויי ההשלמה האוטומטית של Cloud Search באמצעות הערך FilterOptions שמוגדר בסכימה, מלבד המסננים המובנים הבאים: objectype, mimetype וסוג.

  • אין תמיכה בהצעות המבוססות על היסטוריית שאילתות (חיפושים שהמשתמש ביצע בעבר באפליקציית חיפוש)

  • אפשר לסמן עד 20 נכסים כ-is_suggestable. כדי להגדיל את המגבלה, תוכלו לפנות לתמיכה של Cloud Search.

  • ההשלמה האוטומטית של אופרטור החיפוש לא זמינה במאפיינים עם exact_match_with_operator.

  • בעזרת ההשלמה האוטומטית של Cloud Search, ניתן לקבל עד 5 הצעות מתוכן המסמך ומ-2 הצעות לאנשים.

  • תכונת ההשלמה האוטומטית של Cloud Search מציעה ביטויים רק מהמסמכים שלמשתמש יש גישה אליהם.