הרחבת שאילתה היא תהליך של הרפיית אילוצי השאילתה כדי לכלול יותר תוצאות, אם לא נמצאו תוצאות או שנמצאו מעט מדי תוצאות. כך מתבצעת התאמה של גודל התוצאה לכל שאילתה.
אם אין מסמכים רלוונטיים לשאילתה, הרחבת השאילתה מחזירה מסמכים פחות רלוונטיים כדי שלא יוחזרו אפס תוצאות חיפוש.
לדוגמה, בניגוד לסינון דינמי או פקדים להצגת תוצאות, אי אפשר להגדיר הרחבת שאילתות ישירות במסוף Google Cloud . במקום זאת, תצטרכו להגדיר הרחבת שאילתות באופן פרוגרמטי לכל בקשת חיפוש. בהמשך המאמר מוסבר איך להגדיר הרחבת שאילתות ב-API.
הדרכה בנושא הרחבת שאילתה
במדריך הזה מוסבר איך להפעיל את התכונה 'הרחבת שאילתות'. אם הקונים משתמשים בביטוי חיפוש לא חד-משמעי או בביטוי חיפוש שמורכב מכמה מילים, הם עלולים לקבל תשובה ריקה. אחרי שמפעילים את הרחבת השאילתה, הבקשה מנותחת ומוחזרת רשימה מורחבת של מוצרים שמבוססת על שאילתת החיפוש המנותחת.
בלחיצה על תראו לי איך תקבלו הסבר מפורט על המשימה ישירות ב-Cloud Shell Editor:
סקירה כללית על הרחבת שאילתות
הרחבת שאילתה היא תכונה עוצמתית שנועדה לשפר את היכולת של המערכת לאחזר מידע בחיפוש ולמנוע מצבים שבהם לא מוצגות תוצאות, במיוחד כשמדובר בשאילתות ארוכות או מורכבות של משתמשים.
במקום שלא יוצגו תוצאות כשלא נמצאת התאמה מדויקת בקטלוג המוצרים, הרחבת השאילתה מזהה ומציגה מוצרים קשורים או חלופיים. כך משפרים את חוויית המשתמש ומגדילים את שיעורי ההמרה.
תרחישי שימוש עיקריים להרחבת שאילתות:
- שאילתות ארוכות זנב: יכול להיות שלא תהיה התאמה מושלמת בקטלוג לחיפושים ספציפיים מאוד, כמו חלב אורגני דל שומן ועשיר בחלבון לחולי סוכרת. הרחבת השאילתה יכולה להחזיר מוצרים שתואמים לחלקים מהכוונה, כמו מוצרים שתויגו במאפיינים או בערכי מאפיינים של חלב שמתאים לחולי סוכרת, חלב עשיר בחלבון.
- מוצרים חלופיים: אם המשתמשים מחפשים מותג או מוצר שלא נמצאים בקטלוג, כמו קפה סטארבקס 100 מ"ל,הרחבת השאילתה יכולה להציע מותגי קפה חלופיים שזמינים לרכישה, וכך למנוע חיפוש ללא תוצאות.
בקטעים הבאים מפורטים הפונקציונליות, מנגנון ההפעלה והניואנסים של ההגדרה של התכונה להרחבת שאילתות בחיפוש מסחרי מבוסס-AI, עם דגש ספציפי על התפקיד הקריטי של המסנן הקנוני.
מנגנון להפעלת הרחבת שאילתה
ההחלטה להפעיל הרחבת שאילתה או שאילתת חיפוש נתונה היא אוטומטית ומבוססת על כלל מסנן קנוני שניתן להגדרה מהירה.
- תנאי ההפעלה: הרחבת השאילתה מופעלת רק אם החיפוש הראשוני עם שאילתת המסנן הקנונית מניב פחות מ-3 תוצאות של מוצרים.
- סף: סף ברירת המחדל הוא 3, אבל אפשר לשנות אותו. התכונה הזו מתאימה לרוב תרחישי השימוש במסחר אלקטרוני, כי היא מבטיחה שהרחבת השאילתה תופעל רק אם קבוצת התוצאות הראשונית דלילה באמת.
הגדרת הרחבת שאילתות ב-API
הרחבת השאילתה מוגדרת באופן פרוגרמטי לכל בקשה באמצעות ה-API באופן הבא:
הגדרת API: כדי לשלוט בהרחבת השאילתות, צריך לכלול את האובייקט
queryExpansionSpecב-SearchRequest.הגדרות: בתוך
queryExpansionSpec, מגדירים את השדהconditionלערךAUTOכדי להפעיל את התכונה או לערךDISABLEDכדי להשבית אותה. אם לא מציינים ערך, ברירת המחדל היא השבתה.הצמדה: אפשר להגדיר את
pinUnexpandedResultsלערךtrueבבקשה כדי לוודא שהתאמות מדויקות לשאילתה המקורית יופיעו בראש תוצאות החיפוש, ואחריהן התוצאות המורחבות. מידע נוסף זמין במאמר בנושא הצמדה.
הגדרת מסננים קנוניים
כדי שהרחבת השאילתה תופעל בצורה יעילה, צריך להגדיר נכון את canonical_filter בבקשת החיפוש.
כדי להטמיע את הרחבת השאילתה בצורה נכונה, חשוב להבין את שני פרמטרי הסינון העיקריים בבקשת חיפוש: מסננים ברמה העליונה ומסננים קנוניים.
מסנן ברמה העליונה (
filter): זהו המסנן הראשי שמוחל על תוצאות החיפוש לפני שהן מוצגות למשתמש. זה שילוב של שתי שכבות פוטנציאליות:מסנן עסקי/בסיסי: כללים מוגדרים מראש שמוחלים על כל החיפושים, לרוב ללא קלט ישיר מהמשתמש, כמו
inStock=TRUE, category="groceries", storeId="XYZ".מסנני פנים שנבחרו על ידי המשתמש: מסננים שמוחלים באופן דינמי על ידי המשתמש במהלך האינטראקציה עם ממשק החיפוש, למשל על ידי בחירת מסנני פנים למותג='אדידס', מידה='L'.
מסננים קנוניים (
canonical_filter): זהו מסנן למטרה מיוחדת שמשמש באופן בלעדי את מודול ההחלטות להרחבת השאילתה. התפקיד היחיד שלו הוא להגדיר את תצוגת הקטלוג שלפיה מוערך תנאי ההפעלה של הרחבת השאילתה (פחות מחמש תוצאות).
פונקציות סינון קנוניות בסיסיות
המסנן הקנוני נועד להבחין בין תוצאת חיפוש אורגנית לא טובה לבין קבוצת תוצאות שהמשתמש צמצם בכוונה. אפשר להרחיב את ההחרגה כדי להחריג את הלוגיקה העסקית ולכלול את המסננים שהמשתמשים מפעילים, או לצמצם אותה כדי להפעיל את הרחבת השאילתה כשצריך, בהתאם לתרחיש השימוש.
תרחיש 1
-
התהליך שעובר המשתמש: המשתמש מחפש חולצת טי ומקבל אלפי תוצאות. יש מסנן ברירת מחדל
business_filter, כך שלדוגמה, הוא מסנן רק מוצרים שנמצאים במלאי ומוצרים שתואמים למאפיין מותאם אישית ברמת החנות. המשתמש מפעיל מסנני היבטים למותג=Adidas וגודל=L, וכך מצמצם את מספר התוצאות לשתיים. - אם
canonical_filterהוגדר לכלול את אותם תנאיםfilter(למשלAVAILABILITY: IN_STOCK AND color: "Red": מערכת ההחלטות להרחבת השאילתה תראה רק 2 תוצאות ותפעיל בטעות הרחבת שאילתה, וכך תציף את המשתמש במוצרים קשורים אבל לא רלוונטיים, כמו חולצות טי של נייקי, ותבטל את הסינון המפורש של המשתמש. - ההגדרה הנכונה היא
canonical_filter = business filter. ההחלטה לגבי הרחבת השאילתה צריכה להתבסס על השאילתה הראשונית, ללא הפילטרים שהמשתמש בחר. אם משאירים אתcanonical_filterרחב, המערכת מזהה בצורה נכונה שיש הרבה מוצרים תואמים בקטלוג, ולכן היא יכולה להתחשב במסננים המחמירים של המשתמש בלי להרחיב את החיפוש.
תרחיש 2
-
מסלול המרה: המשתמש מחפש חולצת טישרט של אדידס עם הדפסים גרפיים שחורים ומוצגת לו רק תוצאה אחת או שתיים, אם בכלל. יש
business_filterברירת מחדל, כך שלדוגמה, המערכת מסננת רק מוצרים במלאי ומוצרים שתואמים למאפיין מותאם אישית ברמת החנות. - אם
canonical_filterלא מוגדר או לא מוגדר בצורה נכונה, יכול להיות שהחיפוש עם המסנן הקנוני ימצא מוצרים שתואמים לשאילתה אבל לא נמצאים במלאי או שהם מחנות אחרת, כלומר ערך אחר של מאפיין מותאם אישית ברמת החנות. במקרה כזה, הרחבת השאילתה לא מופעלת. -
ההגדרה הנכונה היא
canonical_filter = business filter. בהגדרה הזו, ההחלטה לגבי הרחבת השאילתה מוצאת פחות משלושה מוצרים לשאילתה הארוכה שצוינה, ואז מפעילה הרחבת שאילתה ומציגה מוצרים קשורים לשאילתה המקורית, כלומר מוצרים במלאי שתואמים למאפיין ברמת החנות. כך התוצאות יורחבו ויכללו חולצות טי שירט עם הדפס גרפי שחור של מותג אחר, חולצות טי שירט עם הדפס גרפי בצבעים אחרים או מוצרי טי שירט אחרים של המותג שצוין בשאילתה. צריך לכלול מגבלות עסקיות לתרחיש השימוש הזה שלcanonical_filter.
שיטות מומלצות להרחבת שאילתות
כמעט תמיד צריך להגדיר את המסנן הקנוני כך שיהיה זהה למסנן העסק או למסנן הבסיס. כך מודול הרחבת השאילתה מעריך את הפוטנציאל של השאילתה בהשוואה לאותו קטלוג רחב שמוצג למשתמשים בהתחלה, לפני שהם מתחילים להשתמש בהיבטים.
תהליך החיפוש מקצה לקצה והרחבת השאילתה
כשמבצעים בקשת חיפוש, מתרחשים כמה תהליכים מקבילים:
הבקשה התקבלה: ה-API מקבל את בקשת החיפוש שמכילה את השאילתה, את
filterהראשי ואתcanonical_filter.חיפוש להרחבת שאילתה: במקביל, מודול ההחלטה להרחבת שאילתה מבצע חיפוש פנימי משלו באמצעות השאילתה בשילוב עם המסנן הקנוני.
בדיקת מספר התוצאות: המודול בודק את מספר המוצרים שמוחזרים מהחיפוש הפנימי שלו.
- אם יש חמש תוצאות או יותר: לא מופעלת הרחבת שאילתה. תוצאות החיפוש הרגילות עוברות לשלב הסינון הסופי.
- אם מספר התוצאות קטן מחמש: מופעלת הרחבת השאילתה. המודל מרחיב את השאילתה באופן שיטתי כדי למצוא מוצרים קשורים. לדוגמה, יכול להיות שהדגם ימצא טלפון Pixel 5, טלפונים מדגם Pixel 4, אוזניות Pixel ואפילו טלפונים של סמסונג.
- סינון סופי: קבוצת המוצרים (הקבוצה המקורית או הקבוצה המורחבת מהרחבת השאילתה) מועברת לשלב הסופי. במקרה כזה, המסנן ברמה העליונה, שמכיל כללים עסקיים וכל היבט שהמשתמש בחר, מופעל באופן מחמיר.
- התגובה נשלחה: רשימת המוצרים הסופית אחרי הסינון מוחזרת בתגובה של ה-API.
תרחיש מתקדם לדוגמה של הפעלה סלקטיבית של הרחבת שאילתה
אתם יכולים להגדיר את המסננים באופן אסטרטגי כדי להפעיל או להשבית את הרחבת השאילתות בחלקים ספציפיים בקטלוג.
נניח שיש קטלוג גדול עם מוצרי מזון, אלקטרוניקה וביגוד. במקרה כזה, חשוב לזכור את הנקודות הבאות.
מטרה
הפעלת הרחבת שאילתות לגבי שאילתות של מוצרי מכולת שקשה למצוא או שחסרים במלאי, אבל הצגת אפס תוצאות לגבי מוצרי אלקטרוניקה או אופנה. הצורך העסקי כאן הוא להפעיל את הרחבת השאילתות באופן סלקטיבי רק בחלק של המצרכים.
הגדרות אישיות
בתרחיש השימוש הזה, אפשר להגדיר את הרחבת השאילתה הסלקטיבית באופן הבא:
-
canonical_filter: מגדירים את ההתאמה לרחבה. הוא צריך לכלול את כל הקטגוריות: מוצרי מכולת, אלקטרוניקה ואופנה, וגם כל כלל בסיסי כמו זמינות במלאי, ולהגדיר את המסנן הקנוני באמצעותcategory="groceries" OR category="electronics" OR category="fashion") AND inStock=TRUE) -
filter: מגדירים את ההגדרה לצרה, על סמך ההקשר של המשתמש. למשתמש בקטע המכולת, הפילטר יהיהcategory="groceries" AND inStock=TRUE.
איך זה עובד
הרחבת שאילתה סלקטיבית פועלת בתרחיש הזה באופן הבא:
- המשתמש מחפש "iPhone 20": מודול הרחבת השאילתה משתמש ב-canonical_filter הרחב, מוצא דגמי אייפון קיימים (פחות מ-5 תוצאות) ומחליט לא להפעיל הרחבת שאילתה. תוצאות החיפוש הרגילות (אייפונים קיימים) מועברות למסנן הראשי, שחוסם אותן כי
category="electronics"לא תואם ל-category="groceries". המשתמש רואה אפס תוצאות, וזה נכון. - המשתמש מחפש *חלב לסוכרתיים עשיר בחלבון:* מודול הרחבת השאילתה משתמש במונח הרחב
canonical_filterומוצא פחות מ-5 תוצאות, ולכן מפעיל הרחבת שאילתה על ידי חיפוש מוצרי חלב קשורים. המוצרים האלה מועברים למסנן הראשי. המוצרים האלה תואמים ל-category="groceries", ולכן הם מוצגים למשתמש.
שינוי ההיקף של canonical_filter (התצוגה של תהליך קבלת ההחלטות) ושל filter (התצוגה של הפלט הסופי) מאפשר לכם לשלוט באופן מדויק בחוויית החיפוש.
מערך נתונים לדוגמה
בדף הזה נעשה שימוש במערך הנתונים הבא כדוגמה. מרחיבים אותו כדי לראות את השדות בתוך מערך הנתונים של תיאורי המוצרים לדוגמה.
מערך נתונים לדוגמה של מוצרים
| מזהה | כותרת | מותגים | קטגוריות | price_info.price |
|---|---|---|---|---|
| "nest_mini_2nd_gen" | Nest Mini (דור שני) | ["Google", "Nest"] | ["Nest > speakers and displays"] | 49.00 |
| "nest_audio" | "Nest Audio" | ["Google", "Nest"] | ["Nest > speakers and displays"] | 99.99 |
| "nest_hub_max" | "Nest Hub Max" | ["Google", "Nest"] | ["Nest > speakers and displays"] | 229.00 |
| "nest_hub" | "Nest Hub" | ["Google", "Nest"] | ["Nest > speakers and displays"] | 88.99 |
| "google_home_max" | "Google Home Max" | ["Google", "Nest"] | ["Nest > speakers and displays"] | 299.00 |
| "google_home_mini" | "Google Home Mini" | ["Google", "Nest"] | ["Nest > speakers and displays"] | 49.00 |
| "google_pixel_5" | "Google Pixel 5" | ["Google", "Pixel"] | ["Pixel > phones"] | 699.00 |
| "google_pixel_4a_with_5g" | "Google Pixel 4a with 5G" | ["Google", "Pixel"] | ["Pixel > phones"] | 499.00 |
| "google_pixel_4a" | "Google Pixel 4a Phones" | ["Google", "Pixel"] | ["Pixel > phones"] | 349.00 |
| "google_pixel_stand" | "Google Pixel Stand" | ["Google", "Pixel"] | ["Pixel > featured accessories"] | 79.00 |
| "google_pixel_buds" | "Google Pixel Buds" | ["Google", "Pixel"] | ["Pixel > featured accessories"] | 179.00 |
| "google_pixel_5_case" | "Google Pixel 5 Case" | ["Google", "Pixel"] | ["Pixel > featured accessories"] | 40.00 |
| "google_pixel_4a_5g_case" | "כיסוי ל-Google Pixel 4a (5G)" | ["Google", "Pixel"] | ["Pixel > featured accessories"] | 40.00 |
| "google_pixel_4a_case" | "Google Pixel 4a Case" | ["Google", "Pixel"] | ["Pixel > featured accessories"] | 40.00 |
הרחבת שאילתה מרחיבה את שאילתות החיפוש כדי להציג יותר תוצאות
הרחבת השאילתה מגדילה את ההחזרה של מונחי שאילתה עם מעט תוצאות, במיוחד שאילתות ארוכות. השאילתה המורחבת מניבה תוצאת חיפוש גדולה יותר.
תכונת החיפוש הזו מבוססת על מפרט שקובע את התנאים להרחבת השאילתה. היא כוללת אפשרות pinUnexpandedResults שמושבתת כברירת מחדל. אם ההגדרה היא true, המוצרים מוצגים בחלק העליון של תוצאות החיפוש כשהם לא מורחבים. אחרי החלק העליון מוצגות התוצאות המורחבות.
Java
לדוגמה, אם מחפשים את Google Pixel 5 בלי הרחבת השאילתה, התוצאה מוגבלת למזהים google_pixel_5. עם זאת, בעזרת הרחבת השאילתה, יכול להיות שתקבלו גם את המזהים google_pixel_4a_with_5g, google_pixel_4a ו-google_pixel_5_case במערך הנתונים של תיאורי המוצרים לדוגמה.