ההשלמה האוטומטית ב-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 andcharacters=Hermione, Harry Potter`
איור 1 מראה איך ההצעות להשלמה אוטומטית מחולצות משמות המסמכים, מהמאפיינים ומערכי המאפיינים.
ממסמך 1, אנחנו מחלצים n-גרמות (עד טריגרמות) 'הנוקמים', 'מלחמת', 'האינסוף', 'הנוקמים מלחמת', 'מלחמת האינסוף', 'הנוקמים מלחמת האינסוף'. באופן דומה, ממסמך 2, אנחנו יוצרים את 'הארי', 'פוטר', 'הארי פוטר'.
כששולחים שאילתה למקור הנתונים הזה, נניח שהמשתמש מתחיל להקליד "h.". ההצעות שיוצגו למשתמש יהיו:
- הארי
- הרמיוני
- Hulk
- הארי פוטר
נניח שהמשתמש בוחר בהצעה להשלמה אוטומטית 'הרמיוני' וההקשה הבאה שלו היא התו 'א'. ההצעות להשלמה אוטומטית שיוצגו למשתמש יהיו:
- הרפתקה של הרמיוני
- Hermione Action
- Hermione Avengers
ההשלמה האוטומטית מנסה להשלים את המילה האחרונה (או את ה-n-גרם) שמקלידים. בדוגמה הקודמת, המערכת פשוט מרחיבה את 'a' ל-'adventure', 'action' ו-'avengers', כי אין טקסט שמתחיל ב-'hermione a'. ההצעה הזו נקראת הצעה לסיום משפט. ההשלמה האוטומטית מתבצעת רק למילה האחרונה או ל-n-גרם האחרון שמוקלד.
ההשלמה האוטומטית ב-Cloud Search מחזירה עד 5 הצעות מתוכן המסמך ו-2 הצעות לאנשים.
כברירת מחדל, ביטויים משמות המסמכים מוצגים בהשלמה האוטומטית. צריך לסמן במפורש מאפיינים של סכימה כ-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 מציעה ביטויים רק מתוך המסמכים שלמשתמש יש גישה אליהם.