ההשלמה האוטומטית של Cloud Search עוזרת למשתמשים על ידי הצעת מילים כשהם מקלידים שאילתת חיפוש. לדוגמה, ההצעות יכולות להיות מילים משמות של מסמכים, אופרטורים של חיפוש, ערכים של אופרטורים של חיפוש או שמות וכתובות אימייל מהארגון ב-Google Workspace.
ההשלמה האוטומטית מחלצת ביטויים משמות של מסמכים שעברו אינדוקס, ובעזרת מודל n-gram היא קובעת אילו הצעות להציג באמצעות Suggest API. כברירת מחדל, ביטויים משמות המסמכים מוצגים בהשלמה האוטומטית. אפשר גם לסמן מאפייני סכימה של טקסט ושל enum
ב-is_suggestable
כדי להשלים אוטומטית את שם המאפיין והערכים התואמים.
ה-API של ההצעות בודק את שאילתת החיפוש כדי למצוא רמזים לגבי השפה של השאילתה, כמו אנגלית או ספרדית, ונותן עדיפות לתוצאות בהתאם. השדה
languageCode
של בקשה משמש גם לשיפור ההצעות הספציפיות לשפה.
תרחיש לדוגמה
לדוגמה, נניח שיש לכם מקור נתונים שמכיל מידע על סרטים:
- מקור הנתונים מכיל 2 מסמכים.
- לכל מסמך יש שם (
ItemMetadata.title
) ושני מאפיינים:genre
ו-characters
. - המסמך הראשון נקרא 'Avengers Infinity War' (הנוקמים: מלחמת האינסוף) עם
genre=science fiction
ו-characters=Iron Man, Hulk
- המסמך השני נקרא 'הארי פוטר' עם
genre=Adventure, Fantasy and
characters=Hermione, Harry Potter`
איור 1 מראה איך ההצעות להשלמה אוטומטית מחולצות משמות המסמכים, מהמאפיינים ומערכי המאפיינים.

ממסמך 1, אנחנו מחלצים n-גרמות (עד טריגרמות) 'הנוקמים', 'מלחמת', 'האינסוף', 'הנוקמים מלחמת', 'מלחמת האינסוף', 'הנוקמים מלחמת האינסוף'. באופן דומה, ממסמך 2, אנחנו יוצרים את 'הארי', 'פוטר', 'הארי פוטר'.
כששולחים שאילתה למקור הנתונים הזה, נניח שהמשתמש מתחיל להקליד "h." ההצעות שיוצגו למשתמש יהיו:
- Harry
- הרמיוני
- Hulk
- הארי פוטר
נניח שהמשתמש בוחר בהצעה להשלמה אוטומטית 'הרמיוני' והקשה הבאה שלו היא על התו 'א'. ההצעות להשלמה אוטומטית שיוצגו למשתמש יהיו:
- הרפתקה של הרמיוני
- פעולת Hermione
- Hermione Avengers
ההשלמה האוטומטית מנסה להשלים את המילה האחרונה (או את ה-ngram) שמקלידים. בדוגמה הקודמת, הפונקציה פשוט מרחיבה את 'a' ל-'adventure', 'action' ו-'avengers', כי אין טקסט שמתחיל ב-'hermione a' ביחד. ההצעה הזו נקראת הצעה לסיום משפט. ההשלמה האוטומטית מתבצעת רק למילה האחרונה או ל-n-גרם האחרון שמקלידים.
ההשלמה האוטומטית של Cloud Search מחזירה עד 5 הצעות מתוכן המסמך ו-2 הצעות של אנשים.
כברירת מחדל, ביטויים משמות המסמכים מוצגים בהשלמה האוטומטית. צריך לסמן במפורש מאפיינים של Schema כ-is_suggestable
כדי שממשק ה-API של ההצעות ישלים אוטומטית את שם המאפיין והערכים התואמים.
שילוב עם Autocomplete API
אם אתם משתמשים באפליקציית החיפוש שמוגדרת כברירת מחדל או בווידג'ט החיפוש שאפשר להטמיע, תכונת ההשלמה האוטומטית של Cloud Search נתמכת באופן מובנה בלי צורך בפעולות נוספות. חשוב לזכור שכברירת מחדל, ביטויי ההשלמה האוטומטית מוצגים משמות המסמכים. צריך לסמן במפורש מאפייני סכימה באמצעות התג is_suggestable
כדי שממשק ה-API של ההצעות ישלים אוטומטית את שם המאפיין והערכים התואמים.
אם אתם יוצרים אפליקציית חיפוש בהתאמה אישית, תוכלו להשתמש בהשלמה האוטומטית על ידי שליחת שאילתות לנקודות הקצה של /query/suggest
API.
מגבלות
אלו המגבלות שחלות על ההשלמה האוטומטית:
אי אפשר להגביל את הביטויים להשלמה אוטומטית ב-Cloud Search באמצעות
FilterOptions
שמוגדר בסכימה, למעט המסננים המובנים הבאים:objectype
, mimetype
ומסנני סוג.הצעות שמבוססות על היסטוריית שאילתות (חיפושים שבוצעו בעבר על ידי המשתמש באפליקציית חיפוש) לא נתמכות
אפשר לסמן עד 20 נכסים כ
is_suggestable
. כדי להגדיל את המכסה הזו, צריך לפנות לתמיכה של Cloud Search.ההשלמה האוטומטית של אופרטורים לחיפוש לא זמינה בנכסים עם
exact_match_with_operator
.ההשלמה האוטומטית של Cloud Search מחזירה עד 5 הצעות מתוכן המסמך ו-2 הצעות של אנשים.
ההשלמה האוטומטית של Cloud Search מציעה ביטויים רק מתוך המסמכים שלמשתמש יש גישה אליהם.