מבצע חיפוש.
בקשת HTTP
POST https://discoveryengine.googleapis.com/v1beta/{servingConfig=projects/*/locations/*/dataStores/*/servingConfigs/*}:search
כתובת ה-URL כתובה בתחביר של gRPC Transcoding.
פרמטרים של נתיב
| פרמטרים | |
|---|---|
servingConfig |
חובה. שם המשאב של הגדרת ההצגה servingConfigs.search, כמו |
גוף הבקשה
גוף הבקשה מכיל נתונים במבנה הבא:
| ייצוג JSON |
|---|
{ "branch": string, "query": string, "pageCategories": [ string ], "imageQuery": { object ( |
| שדות | |
|---|---|
branch |
שם המשאב של הענף, למשל כדי לחפש מסמכים בענף ברירת המחדל, משתמשים ב- |
query |
שאילתת חיפוש גולמית. |
pageCategories[] |
זה שינוי אופציונלי. הקטגוריות שמשויכות לדף קטגוריה. כדי להשיג איכות חיפוש טובה, צריך להגדיר את הפרמטר הזה לשאילתות ניווט בקטגוריות. הפורמט צריך להיות זהה לפורמט אם השדה ריק, המודל לא ישתמש בו. אם השדה מכיל יותר מרכיב אחד, המערכת תשתמש רק ברכיב הראשון. כדי לייצג נתיב מלא של קטגוריה, משתמשים בתו '>' כדי להפריד בין היררכיות שונות. אם התו '>' הוא חלק משם הקטגוריה, צריך להחליף אותו בתווים אחרים. לדוגמה, |
imageQuery |
שאילתה של תמונה בפורמט Raw. |
pageSize |
המספר המקסימלי של
אם השדה הזה שלילי, הפונקציה מחזירה |
pageToken |
טוקן של דף שהתקבל מקריאה קודמת של כשמבצעים חלוקה לעמודים, כל הפרמטרים האחרים שסופקו ל- |
offset |
מספר שלם עם אינדקס 0 שמציין את ההיסט הנוכחי (כלומר, מיקום התוצאה הראשונה מתוך אם השדה הזה שלילי, הפונקציה מחזירה יכול להיות שערך גדול של היסט יוגבל לסף סביר. |
oneBoxPageSize |
המספר המקסימלי של תוצאות שיוחזרו ל-OneBox. ההגדרה הזו חלה על כל סוג של OneBox בנפרד. מספר ברירת המחדל הוא 10. |
dataStoreSpecs[] |
מפרטים שמגדירים את |
numResultsPerDataStore |
זה שינוי אופציונלי. המספר המקסימלי של תוצאות לאחזור מכל מאגר נתונים. אם לא מציינים ערך, המערכת משתמשת בערך |
filter |
תחביר המסנן מורכב משפת ביטויים לבניית פרדיקט משדה אחד או יותר של המסמכים שמסוננים. ביטוי המסנן הוא תלוי אותיות רישיות (case-sensitive). אם השדה לא מזוהה, מוחזר הערך סינון ב-Vertex AI servingConfigs.search מתבצע על ידי מיפוי של מפתח הסינון בצד ימין למאפיין מפתח שמוגדר ב-Vertex AI servingConfigs.search backend – המיפוי הזה מוגדר על ידי הלקוח בסכימה שלו. לדוגמה, ללקוח בתחום המדיה יכול להיות שדה בשם 'name' בסכימה שלו. במקרה הזה, המסנן ייראה כך: filter --> name:'ANY("king kong")' מידע נוסף על סינון, כולל תחביר ואופרטורים של מסננים, זמין במאמר סינון. |
canonicalFilter |
מסנן ברירת המחדל שמוחל כשמשתמש מבצע חיפוש בלי לסמן מסננים בדף החיפוש. המסנן מוחל על כל בקשת חיפוש כשצריך לשפר את האיכות, למשל באמצעות הרחבת השאילתה. אם לשאילתה אין מספיק תוצאות, המסנן הזה ישמש כדי לקבוע אם להפעיל את תהליך הרחבת השאילתה. המסנן המקורי עדיין ישמש לחיפוש המורחב של השאילתה. מומלץ מאוד למלא את השדה הזה כדי להשיג איכות חיפוש גבוהה. מידע נוסף על תחביר המסננים זמין במאמר |
orderBy |
הסדר שבו המסמכים מוחזרים. אפשר להזמין מסמכים לפי שדה באובייקט מידע נוסף על סידור תוצאות החיפוש באתר מידע נוסף על סידור תוצאות החיפוש של שירותי בריאות זמין במאמר סידור תוצאות החיפוש של שירותי בריאות. אם השדה לא מזוהה, מוחזר הערך |
userInfo |
מידע על משתמש הקצה. מומלץ מאוד לניתוח נתונים ולהתאמה אישית. |
languageCode |
קוד השפה BCP-47, כמו en-US או sr-Latn. מידע נוסף מופיע במאמר בנושא שדות רגילים. השדה הזה עוזר לפרש טוב יותר את השאילתה. אם לא מציינים ערך, קוד שפת השאילתה מזוהה באופן אוטומטי, אבל יכול להיות שהזיהוי לא יהיה מדויק. |
regionCode |
קוד המדינה/האזור של מיקום ב-Unicode (CLDR), כמו US ו-419. מידע נוסף מופיע במאמר בנושא שדות רגילים. אם הערך מוגדר, התוצאות יקבלו דחיפה על סמך הערך של regionCode שסופק. |
facetSpecs[] |
מפרטים של היבטים לחיפוש עם היבטים. אם הוא ריק, לא מוחזרים היבטים. אפשר להזין עד 100 ערכים. אחרת, מוחזרת שגיאת |
boostSpec |
הגדרת חיזוק כדי להדגיש מסמכים מסוימים. מידע נוסף על קידום תוכן זמין במאמר קידום תוכן. |
params |
פרמטרים נוספים לחיפוש. לחיפוש רק באתרים ציבוריים, הערכים הנתמכים הם:
רשימת הקודים הזמינים מופיעה במאמר קודי מדינות
|
queryExpansionSpec |
מפרט הרחבת השאילתה שמציין את התנאים שבהם מתבצעת הרחבת השאילתה. |
spellCorrectionSpec |
מפרט תיקון האיות שמציין את המצב שבו תיקון האיות נכנס לתוקף. |
userPseudoId |
זה שינוי אופציונלי. מזהה ייחודי למעקב אחרי מבקרים. לדוגמה, אפשר להטמיע את זה באמצעות קובץ Cookie של HTTP, שאמור להיות מסוגל לזהות מבקר באופן ייחודי במכשיר יחיד. המזהה הייחודי הזה לא אמור להשתנות אם המבקר נכנס לאתר או יוצא ממנו. בשדה הזה לא צריך להזין ערך קבוע כמו המזהה הזה צריך להיות זהה למזהה השדה חייב להיות מחרוזת בקידוד UTF-8, עם מגבלת אורך של 128 תווים. אחרת, מוחזרת שגיאת |
contentSearchSpec |
מפרט להגדרת אופן הפעולה של חיפוש התוכן. |
embeddingSpec |
משתמש בהטמעה שסופקה כדי לבצע אחזור סמנטי נוסף של מסמכים. האחזור מבוסס על המכפלה הסקלרית של אם לא מציינים את |
rankingExpression |
זה שינוי אופציונלי. ביטוי הדירוג קובע את הדירוג המותאם אישית של מסמכי האחזור. ההגדרה הזו מבטלת את אם לא מציינים את
פונקציות נתמכות:
משתני פונקציה:
ביטוי הדירוג לדוגמה: אם במסמך יש שדה הטמעה doc_embedding, ביטוי הדירוג יכול להיות אם הערך של
ריכזנו כאן כמה דוגמאות לנוסחאות דירוג שמשתמשות בסוגי ביטויי הדירוג הנתמכים:
אלה האותות הנתמכים:
|
rankingExpressionBackend |
זה שינוי אופציונלי. הקצה העורפי שמשמש להערכת ביטוי הדירוג. |
safeSearch |
האם להפעיל את החיפוש הבטוח. האפשרות הזו נתמכת רק בחיפוש באתר. |
userLabels |
התוויות של המשתמשים שמוחלות על משאב צריכות לעמוד בדרישות הבאות:
פרטים נוספים מופיעים במאמר Google Cloud Document. |
naturalLanguageQueryUnderstandingSpec |
זה שינוי אופציונלי. הגדרות ליכולות של הבנת שאילתות בשפה טבעית, כמו שליפת מסנני שדות מובְנים מהשאילתה. מידע נוסף מופיע במאמר הזה. אם לא מציינים את |
searchAsYouTypeSpec |
הגדרה של servingConfigs.search as you type. התכונה הזו נתמכת רק בקטגוריה |
displaySpec |
זה שינוי אופציונלי. הגדרות לתכונות תצוגה, כמו הדגשת התאמות בתוצאות החיפוש. |
crowdingSpecs[] |
זה שינוי אופציונלי. מפרטים לגבי צפיפות כדי לשפר את מגוון התוצאות. אם מציינים כמה CrowdingSpecs, הצפיפות תיבדק בכל שילוב ייחודי של ערכי |
session |
שם המשאב של הסשן. זה שינוי אופציונלי. הסשן מאפשר למשתמשים לבצע קריאות ל-API של חיפוש מרובה או תיאום בין קריאות ל-API של חיפוש וקריאות ל-API של תשובה. דוגמה 1 (קריאות ל-API של חיפוש מרובות): קריאה ל-API של חיפוש עם מזהה הסשן שנוצר בקריאה הראשונה. כאן, שאילתת החיפוש הקודמת נלקחת בחשבון בחישוב המעמד של השאילתה. כלומר, אם השאילתה הראשונה היא "How did Alphabet do in 2022?" (מה היו הביצועים של אלפבית בשנת 2022?) והשאילתה הנוכחית היא "מה לגבי 2023?", השאילתה הנוכחית תפורש כ "מה היו הביצועים של Alphabet בשנת 2023?". דוגמה מספר 2 (תיאום בין קריאות ל-API של /search וקריאות ל-API של /answer): קוראים ל-API של /answer עם מזהה הסשן שנוצר בקריאה הראשונה. במקרה הזה, יצירת התשובה מתבצעת בהקשר של תוצאות החיפוש מהקריאה הראשונה לחיפוש. |
sessionSpec |
מפרט הסשן. אפשר להשתמש בו רק אם מוגדר |
relevanceThreshold |
סף הרלוונטיות הגלובלי של תוצאות החיפוש. ברירת המחדל היא סף שמוגדר על ידי Google, שמאזן בין דיוק לבין היקף התוצאות כדי לספק גם תוצאות מדויקות מאוד וגם כיסוי מקיף של מידע רלוונטי. אם נדרש סינון רלוונטיות מפורט יותר, אפשר להשתמש במקום זאת בפונקציה התכונה הזו לא נתמכת בחיפושים שקשורים לבריאות. |
relevanceFilterSpec |
זה שינוי אופציונלי. המפרט של סינון הרלוונטיות ברמת פירוט גבוהה. אם לא מציינים את ההגדרה הזו, המערכת משתמשת בהגדרה הכללית התכונה הזו נתמכת כרגע רק בחיפוש מותאם אישית ובחיפוש באתר. |
personalizationSpec |
המפרט להתאמה אישית. שימו לב: אם גם |
relevanceScoreSpec |
זה שינוי אופציונלי. ההגדרה להחזרת ציון הרלוונטיות. |
searchAddonSpec |
זה שינוי אופציונלי. ה-SearchAddonSpec משמש להשבתת תוספים לחיפוש בהתאם למודל התמחור החדש. השדה הזה נתמך רק בבקשות חיפוש. |
customRankingParams |
זה שינוי אופציונלי. הגדרה אופציונלית של התכונה 'דירוג בהתאמה אישית'. |
entity |
זה שינוי אופציונלי. הישות של לקוחות שעשויים להפעיל כמה ישויות, דומיינים, אתרים או אזורים שונים, למשל Google US, Google Ads, Waymo, google.com, youtube.com וכו'. אם ההגדרה הזו מוגדרת, היא צריכה להיות זהה בדיוק ל- |
גוף התשובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופע של SearchResponse.
היקפי הרשאות
נדרש אחד מהיקפי ההרשאות הבאים של OAuth:
https://www.googleapis.com/auth/cloud-platformhttps://www.googleapis.com/auth/discoveryengine.assist.readwritehttps://www.googleapis.com/auth/discoveryengine.readwritehttps://www.googleapis.com/auth/discoveryengine.serving.readwrite
ניתן למצוא מידע נוסף כאן: Authentication Overview.
הרשאות IAM
נדרשת הרשאת IAM הבאה במשאב servingConfig:
discoveryengine.servingConfigs.search
מידע נוסף מופיע במאמרי העזרה בנושא IAM.