REST Resource: projects.locations.evaluations

משאב: הערכה

הערכה היא ביצוע יחיד (או ריצה) של תהליך הערכה. הוא כולל את מצב ההערכה ואת הנתונים שמתקבלים ממנה.

ייצוג JSON
{
  "name": string,
  "evaluationSpec": {
    object (EvaluationSpec)
  },
  "qualityMetrics": {
    object (QualityMetrics)
  },
  "state": enum (State),
  "error": {
    object (Status)
  },
  "createTime": string,
  "endTime": string,
  "errorSamples": [
    {
      object (Status)
    }
  ]
}
שדות
name

string

מזהה. שם המשאב המלא של Evaluation, בפורמט projects/{project}/locations/{location}/evaluations/{evaluation}.

השדה הזה חייב להיות מחרוזת בקידוד UTF-8, עם מגבלת אורך של 1,024 תווים.

evaluationSpec

object (EvaluationSpec)

חובה. המפרט של ההערכה.

qualityMetrics

object (QualityMetrics)

פלט בלבד. המדדים שנוצרו על ידי ההערכה, בממוצע על פני כל ה-SampleQuery ב-SampleQuerySet.

מאוכלס רק כשהמצב של ההערכה הוא SUCCEEDED.

state

enum (State)

פלט בלבד. מצב ההערכה.

error

object (Status)

פלט בלבד. השגיאה שאירעה במהלך ההערכה. השדה הזה מאוכלס רק כשהסטטוס של ההערכה הוא FAILED.

createTime

string (Timestamp format)

פלט בלבד. חותמת הזמן שבה נוצר Evaluation.

הפלט שנוצר תמיד יהיה בפורמט RFC 3339, עם נורמליזציה של Z ושימוש ב-0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: "2014-10-02T15:01:23Z", ‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

endTime

string (Timestamp format)

פלט בלבד. חותמת הזמן שבה ה-Evaluation הושלם.

הפלט שנוצר תמיד יהיה בפורמט RFC 3339, עם נורמליזציה של Z ושימוש ב-0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: "2014-10-02T15:01:23Z", ‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

errorSamples[]

object (Status)

פלט בלבד. דוגמה לשגיאות שנתקלו בהן במהלך עיבוד הבקשה.

EvaluationSpec

תיאור המפרט של הבדיקה.

ייצוג JSON
{
  "querySetSpec": {
    object (QuerySetSpec)
  },

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "searchRequest": {
    object (SearchRequest)
  }
  // End of mutually exclusive fields.
}
שדות
querySetSpec

object (QuerySetSpec)

זה שינוי אופציונלי. המפרט של קבוצת השאילתות.

מפרט החיפוש. בהמשך מפורטת רשימה של שדות שאי אפשר להשתמש בהם בו-זמנית. רק אחד מהשדות הבאים יוגדר בתשובה:
searchRequest

object (SearchRequest)

חובה. בקשת החיפוש שמשמשת לביצוע ההערכה.

רק השדות הבאים ב-SearchRequest נתמכים. אם יסופקו שדות אחרים, תוחזר שגיאת UNSUPPORTED:

סוף השדות הבלעדיים.

SearchRequest

הודעת בקשה לשיטה SearchService.Search.

ייצוג JSON
{
  "servingConfig": string,
  "branch": string,
  "query": string,
  "pageCategories": [
    string
  ],
  "imageQuery": {
    object (ImageQuery)
  },
  "pageSize": integer,
  "pageToken": string,
  "offset": integer,
  "oneBoxPageSize": integer,
  "dataStoreSpecs": [
    {
      object (DataStoreSpec)
    }
  ],
  "numResultsPerDataStore": integer,
  "filter": string,
  "canonicalFilter": string,
  "orderBy": string,
  "userInfo": {
    object (UserInfo)
  },
  "languageCode": string,
  "regionCode": string,
  "facetSpecs": [
    {
      object (FacetSpec)
    }
  ],
  "boostSpec": {
    object (BoostSpec)
  },
  "params": {
    string: value,
    ...
  },
  "queryExpansionSpec": {
    object (QueryExpansionSpec)
  },
  "spellCorrectionSpec": {
    object (SpellCorrectionSpec)
  },
  "userPseudoId": string,
  "useLatestData": boolean,
  "contentSearchSpec": {
    object (ContentSearchSpec)
  },
  "embeddingSpec": {
    object (EmbeddingSpec)
  },
  "rankingExpression": string,
  "rankingExpressionBackend": enum (RankingExpressionBackend),
  "safeSearch": boolean,
  "userLabels": {
    string: string,
    ...
  },
  "naturalLanguageQueryUnderstandingSpec": {
    object (NaturalLanguageQueryUnderstandingSpec)
  },
  "searchAsYouTypeSpec": {
    object (SearchAsYouTypeSpec)
  },
  "customFineTuningSpec": {
    object (CustomFineTuningSpec)
  },
  "displaySpec": {
    object (DisplaySpec)
  },
  "crowdingSpecs": [
    {
      object (CrowdingSpec)
    }
  ],
  "session": string,
  "sessionSpec": {
    object (SessionSpec)
  },
  "relevanceThreshold": enum (RelevanceThreshold),
  "relevanceFilterSpec": {
    object (RelevanceFilterSpec)
  },
  "personalizationSpec": {
    object (PersonalizationSpec)
  },
  "relevanceScoreSpec": {
    object (RelevanceScoreSpec)
  },
  "searchAddonSpec": {
    object (SearchAddonSpec)
  },
  "customRankingParams": {
    object (CustomRankingParams)
  },
  "entity": string
}
שדות
servingConfig

string

חובה. שם המשאב של הגדרת הצגת תוצאות החיפוש, כמו projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config או projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config. השדה הזה משמש לזיהוי השם של הגדרת ההצגה, קבוצת המודלים שמשמשים לביצוע החיפוש.

branch

string

שם המשאב של הענף, למשל projects/*/locations/global/collections/default_collection/dataStores/default_data_store/branches/0.

כדי לחפש מסמכים בענף ברירת המחדל, צריך להזין את מזהה הענף default_branch או להשאיר את השדה הזה ריק.

query

string

שאילתת חיפוש גולמית.

pageCategories[]

string

זה שינוי אופציונלי. הקטגוריות שמשויכות לדף קטגוריה. כדי להשיג איכות חיפוש טובה, צריך להגדיר את הפרמטר הזה לשאילתות ניווט בקטגוריות. הפורמט צריך להיות זהה לפורמט PageInfo.page_category. השדה הזה מקביל לשאילתה של שאילתות גלישה (ניווט). הוא משמש את מודל הגלישה כשהשאילתה ריקה.

אם השדה ריק, המודל לא ישתמש בו. אם השדה מכיל יותר מרכיב אחד, המערכת תשתמש רק ברכיב הראשון.

כדי לייצג נתיב מלא של קטגוריה, משתמשים בתו '>' כדי להפריד בין היררכיות שונות. אם התו '>' הוא חלק משם הקטגוריה, צריך להחליף אותו בתווים אחרים. לדוגמה, Graphics Cards > RTX>4090 > Founders Edition כאשר 'RTX > 4090' מייצג רמה אחת, אפשר לשכתב את הביטוי כ-Graphics Cards > RTX_4090 > Founders Edition

imageQuery

object (ImageQuery)

שאילתה של תמונה בפורמט Raw.

pageSize

integer

המספר המקסימלי של Documents שיוחזרו. הערך המקסימלי המותר תלוי בסוג הנתונים. ערכים שגבוהים מהערך המקסימלי נכפים להיות הערך המקסימלי.

  • אתרים עם אינדוקס בסיסי: ברירת מחדל 10, מקסימום 25.
  • אתרים עם הוספה מתקדמת לאינדקס: ברירת מחדל 25, מקסימום 50.
  • אחר: ברירת מחדל 50, מקסימום 100.

אם הערך בשדה הזה הוא שלילי, הפונקציה מחזירה INVALID_ARGUMENT.

pageToken

string

טוקן של דף שהתקבל מקריאה קודמת של SearchService.Search. צריך להזין את הטוקן כדי לאחזר את הדף הבא.

כשמבצעים חלוקה לעמודים, כל הפרמטרים האחרים שסופקו ל-SearchService.Search חייבים להיות זהים לקריאה שסיפקה את הטוקן של הדף. אחרת, מוחזרת שגיאה INVALID_ARGUMENT.

offset

integer

מספר שלם מבוסס-0 שמציין את ההיסט הנוכחי (כלומר, מיקום התוצאה הראשונה מבין Documentהתוצאות שה-API קבע כרלוונטיות) בתוצאות החיפוש. השדה הזה נלקח בחשבון רק אם pageToken לא מוגדר.

אם הערך בשדה הזה הוא שלילי, הפונקציה מחזירה INVALID_ARGUMENT.

יכול להיות שערך גדול של היסט יוגבל לסף סביר.

oneBoxPageSize

integer

המספר המקסימלי של תוצאות שיוחזרו עבור OneBox. ההגדרה הזו חלה על כל סוג של OneBox בנפרד. מספר ברירת המחדל הוא 10.

dataStoreSpecs[]

object (DataStoreSpec)

מפרטים שמגדירים את DataStores הספציפיים שייכללו בחיפוש, יחד עם הגדרות למאגרי הנתונים האלה. ההגדרה הזו רלוונטית רק לEngine עם כמה מאגרי נתונים. אם מנוע החיפוש מחובר למאגר נתונים יחיד, צריך להשתמש במפרטים שמופיעים ישירות מתחת ל-SearchRequest.

numResultsPerDataStore

integer

זה שינוי אופציונלי. המספר המקסימלי של תוצאות לאחזור מכל מאגר נתונים. אם לא מציינים ערך, המערכת משתמשת בערך SearchRequest.DataStoreSpec.num_results אם הוא מסופק, אחרת אין מגבלה.

filter

string

תחביר המסנן מורכב משפת ביטויים לבניית פרדיקט משדה אחד או יותר של המסמכים שמסוננים. ביטוי המסנן הוא תלוי אותיות רישיות (case-sensitive).

אם השדה לא מזוהה, מוחזר הערך INVALID_ARGUMENT.

סינון בחיפוש מבוסס-Vertex AI מתבצע על ידי מיפוי של מפתח הסינון בצד שמאל למאפיין מפתח שמוגדר ב-backend של חיפוש מבוסס-Vertex AI. הלקוח מגדיר את המיפוי הזה בסכימה שלו. לדוגמה, ללקוח בתחום המדיה יכול להיות שדה בשם 'name' בסכימה שלו. במקרה הזה, המסנן ייראה כך: filter --> name:'ANY("king kong")'

מידע נוסף על סינון, כולל תחביר ואופרטורים של מסננים, זמין במאמר סינון.

canonicalFilter

string

מסנן ברירת המחדל שמוחל כשמשתמש מבצע חיפוש בלי לסמן אף מסנן בדף החיפוש.

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

מידע נוסף על תחביר המסננים זמין במאמר SearchRequest.filter.

orderBy

string

הסדר שבו המסמכים מוחזרים. אפשר להזמין מסמכים לפי שדה באובייקט Document. אם המיון הוא לפי רלוונטיות, לא צריך להגדיר את השדה הזה. orderBy הביטוי תלוי אותיות רישיות.

מידע נוסף על סידור תוצאות החיפוש באתר מידע נוסף על סידור תוצאות החיפוש של שירותי בריאות זמין במאמר סידור תוצאות החיפוש של שירותי בריאות. אם השדה לא מזוהה, מוחזר הערך INVALID_ARGUMENT.

userInfo

object (UserInfo)

מידע על משתמש הקצה. מומלץ מאוד לניתוח נתונים ולהתאמה אישית. ‫UserInfo.user_agent משמש להסקת deviceType לצורך ניתוח נתונים.

languageCode

string

קוד השפה בתקן BCP-47, למשל 'en-US' או 'sr-Latn'. מידע נוסף מופיע במאמר בנושא שדות רגילים. השדה הזה עוזר לפרש טוב יותר את השאילתה. אם לא מציינים ערך, קוד שפת השאילתה מזוהה באופן אוטומטי, אבל יכול להיות שהזיהוי לא יהיה מדויק.

regionCode

string

קוד המדינה/האזור ב-Unicode‏ (CLDR) של מיקום, כמו US ו-419. מידע נוסף מופיע במאמר בנושא שדות רגילים. אם מוגדר, התוצאות ישודרגו בהתבסס על קוד האזור שסופק.

facetSpecs[]

object (FacetSpec)

מפרטים של היבטים לחיפוש עם היבטים. אם הוא ריק, לא מוחזרים היבטים.

אפשר להזין עד 100 ערכים. אחרת, מוחזרת שגיאת INVALID_ARGUMENT.

boostSpec

object (BoostSpec)

הגדרת חיזוק כדי להדגיש מסמכים מסוימים. מידע נוסף על קידום תוכן זמין במאמר קידום תוכן.

params

map (key: string, value: value (Value format))

פרמטרים נוספים לחיפוש.

לחיפוש רק באתרים ציבוריים, הערכים הנתמכים הם:

  • user_country_code: מחרוזת. ברירת המחדל היא ריק. אם המדיניות מוגדרת לערך לא ריק, התוצאות מוגבלות או מקבלות דחיפה על סמך המיקום שצוין. לדוגמה, user_country_code: "au".

רשימת הקודים הזמינים מופיעה במאמר קודי מדינות

  • searchType: double. ברירת המחדל היא ריק. ההגדרה הזו מאפשרת חיפוש שלא בדפי אינטרנט, בהתאם לערך. הערך החוקי היחיד שאינו ברירת המחדל הוא 1, שמפעיל חיפוש תמונות. לדוגמה, searchType: 1.
queryExpansionSpec

object (QueryExpansionSpec)

מפרט הרחבת השאילתה שמציין את התנאים שבהם מתבצעת הרחבת השאילתה.

spellCorrectionSpec

object (SpellCorrectionSpec)

המפרט של תיקון האיות שמציין את המצב שבו תיקון האיות נכנס לתוקף.

userPseudoId

string

זה שינוי אופציונלי. מזהה ייחודי למעקב אחרי מבקרים. לדוגמה, אפשר להטמיע את זה באמצעות קובץ Cookie של HTTP, שאמור להיות מסוגל לזהות מבקר באופן ייחודי במכשיר יחיד. המזהה הייחודי הזה לא אמור להשתנות אם המבקר נכנס לאתר או יוצא ממנו.

בשדה הזה לא צריך להזין ערך קבוע כמו unknown_visitor.

המזהה הזה צריך להיות זהה למזהה UserEvent.user_pseudo_id ולמזהה CompleteQueryRequest.user_pseudo_id

השדה חייב להיות מחרוזת בקידוד UTF-8, עם מגבלת אורך של 128 תווים. אחרת, מוחזרת שגיאת INVALID_ARGUMENT.

useLatestData

boolean

משתמש ב-Engine, ServingConfig ו-Control שנקראו זה עתה ממסד הנתונים.

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

contentSearchSpec

object (ContentSearchSpec)

מפרט להגדרת אופן הפעולה של חיפוש התוכן.

embeddingSpec

object (EmbeddingSpec)

משתמש בהטמעה שסופקה כדי לבצע אחזור מסמכים סמנטי נוסף. האחזור מבוסס על המכפלה הסקלרית של SearchRequest.EmbeddingSpec.EmbeddingVector.vector ושל הטמעת המסמך שמופיעה ב-SearchRequest.EmbeddingSpec.EmbeddingVector.field_path.

אם לא יסופק SearchRequest.EmbeddingSpec.EmbeddingVector.field_path, הוא ישתמש ב-ServingConfig.EmbeddingConfig.field_path.

rankingExpression

string

זה שינוי אופציונלי. ביטוי הדירוג קובע את הדירוג המותאם אישית של מסמכי האחזור. האפשרות הזו מבטלת את ServingConfig.ranking_expression. התחביר והתכונות הנתמכות תלויים בערך של rankingExpressionBackend. אם לא מציינים את rankingExpressionBackend, ברירת המחדל היא RANK_BY_EMBEDDING.

אם לא מציינים את rankingExpressionBackend או אם הוא מוגדר לערך RANK_BY_EMBEDDING, צריך לציין פונקציה אחת או כמה פונקציות שמחוברות באמצעות '+'.

  • rankingExpression = function, { " + ", function };

פונקציות נתמכות:

  • ‫double * relevanceScore
  • ‫double * dotProduct(embedding_field_path)

משתני פונקציה:

  • relevanceScore: מילות מפתח מוגדרות מראש, שמשמשות למדידת הרלוונטיות בין השאילתה לבין המסמך.
  • embedding_field_path: שדה הטמעת המסמך שמשמש עם וקטור הטמעת השאילתה.
  • dotProduct: פונקציית הטמעה בין embedding_field_path לבין וקטור ההטמעה של השאילתה.

ביטוי דירוג לדוגמה:

אם במסמך יש שדה הטמעה doc_embedding, ביטוי הדירוג יכול להיות 0.5 * relevanceScore + 0.3 * dotProduct(doc_embedding).

אם הערך של rankingExpressionBackend הוא RANK_BY_FORMULA, המערכת תומכת בסוגי הביטויים הבאים (ובשילובים שלהם בשרשור באמצעות האופרטורים + או *):

  • double
  • signal
  • log(signal)
  • exp(signal)
  • rr(signal, double > 0) -- reciprocal rank transformation with second argument being a denominator constant.
  • isNan(signal) -- מחזירה 0 אם האות הוא NaN, אחרת מחזירה 1.
  • fillNan(signal1, signal2 | double) -- if signal1 is NaN, returns signal2 | double, else returns signal1.

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

  • 0.2 * semanticSimilarityScore + 0.8 * log(keywordSimilarityScore) – הדירוג מתבסס בעיקר על הלוגריתם של keywordSimilarityScore עם התאמה קלה של semantic_smilarity_score.
  • 0.2 * exp(fillNan(semanticSimilarityScore, 0)) + 0.3 * isNan(keywordSimilarityScore) -- rank by the exponent of semanticSimilarityScore filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if semanticSimilarityScore is NaN.
  • 0.2 * rr(semanticSimilarityScore, 16) + 0.8 * rr(keywordSimilarityScore, 16) -- בעיקר דירוג לפי הדירוג ההופכי של keywordSimilarityScore עם התאמה קלה של הדירוג ההופכי של semantic_smilarity_score.

יש תמיכה באותות הבאים:

  • semanticSimilarityScore: התאמה של דמיון סמנטי שמחושבת באמצעות ההטמעות שנוצרו על ידי מודל קנייני של Google. הציון הזה קובע עד כמה שאילתת חיפוש דומה מבחינה סמנטית למסמך.
  • keywordSimilarityScore: ההתאמה של מילות המפתח מתבססת על פונקציית הדירוג Best Match 25 (BM25). הציון הזה מחושב באמצעות מודל הסתברותי כדי להעריך את הסבירות שמסמך מסוים רלוונטי לשאילתה נתונה.
  • relevanceScore: התאמה של הרלוונטיות הסמנטית שמתבססת על מודל קנייני של Google כדי לקבוע את המשמעות והכוונה מאחורי השאילתה של המשתמש בהקשר של התוכן במסמכים.
  • pctrRank: התאמה של שיעור ההמרה החזוי כשימוש בדירוג. שיעור הקליקים החזוי (pCTR) משמש להערכת הרלוונטיות והאטרקטיביות של תוצאת חיפוש מנקודת המבט של המשתמש. שיעור גבוה יותר של pCTR מצביע על כך שהתוצאה עשויה לענות על השאילתה ועל כוונת המשתמש, ולכן זהו אות חשוב לדירוג.
  • freshnessRank: התאמת העדכניות כדרגה
  • documentAge: הזמן בשעות שחלף מאז העדכון האחרון של המסמך, מספר נקודה צפה (לדוגמה, 0.25 פירושו 15 דקות).
  • topicalityRank: התאמה לנושא כציון. המערכת משתמשת במודל קנייני של Google כדי לקבוע את החפיפה בין השאילתה לבין המסמך על סמך מילות המפתח.
  • baseRank: הדירוג שמוגדר כברירת מחדל של התוצאה
  • mediaActorMatch: האם השחקן במדיה תואם לשאילתה
  • mediaDirectorMatch: האם במאי המדיה תואם לשאילתה
  • mediaGenreMatch: האם הז'אנר של המדיה תואם לשאילתה
  • mediaLanguageMatch: האם השפה של המדיה תואמת לשאילתה
  • mediaTitleMatch: האם שם המדיה תואם לשאילתה
  • mediaPrefixSimilarityRank: דירוג הדמיון של התחילית לתוצאות מדיה
  • mediaSemanticSimilarityRank: דירוג הדמיון הסמנטי של תוצאות מדיה
rankingExpressionBackend

enum (RankingExpressionBackend)

זה שינוי אופציונלי. הקצה העורפי שמשמש להערכת ביטוי הדירוג.

userLabels

map (key: string, value: string)

התוויות של המשתמשים שמוחלות על משאב צריכות לעמוד בדרישות הבאות:

  • לכל משאב יכולות להיות כמה תוויות, עד 64 לכל היותר.
  • כל תווית חייבת להיות צמד מפתח/ערך.
  • האורך המינימלי של המפתחות הוא תו אחד, והאורך המקסימלי הוא 63 תווים. המפתחות לא יכולים להיות ריקים. הערכים יכולים להיות ריקים, והאורך המקסימלי שלהם הוא 63 תווים.
  • המפתחות והערכים יכולים להכיל רק אותיות קטנות, ספרות, קווים תחתונים ומקפים. כל התווים צריכים להיות בקידוד UTF-8, ומותר להשתמש בתווים בינלאומיים.
  • החלק של המפתח בתווית חייב להיות ייחודי. עם זאת, אפשר להשתמש באותו מפתח עם כמה משאבים.
  • המפתחות צריכים להתחיל באות קטנה או בתו בינלאומי.

פרטים נוספים מופיעים במאמר Google Cloud Document.

naturalLanguageQueryUnderstandingSpec

object (NaturalLanguageQueryUnderstandingSpec)

זה שינוי אופציונלי. הגדרות ליכולות של הבנת שאילתות בשפה טבעית, כמו חילוץ מסנני שדות מובְנים מהשאילתה. מידע נוסף מופיע במאמר הזה. אם לא מציינים את naturalLanguageQueryUnderstandingSpec, לא יתבצע ניתוח נוסף של שאילתות בשפה טבעית.

searchAsYouTypeSpec

object (SearchAsYouTypeSpec)

הגדרה של חיפוש בזמן ההקלדה. התכונה הזו נתמכת רק בקטגוריית ישויות IndustryVertical.MEDIA.

customFineTuningSpec

object (CustomFineTuningSpec)

הגדרות בהתאמה אישית של כוונון עדין. אם ההגדרה הזו מוגדרת, היא מקבלת עדיפות גבוהה יותר מההגדרות שמוגדרות ב-ServingConfig.custom_fine_tuning_spec.

displaySpec

object (DisplaySpec)

זה שינוי אופציונלי. הגדרות לתכונות תצוגה, כמו הדגשת התאמות בתוצאות החיפוש.

crowdingSpecs[]

object (CrowdingSpec)

זה שינוי אופציונלי. מפרטים של צפיפות כדי לשפר את מגוון התוצאות. אם מציינים כמה אובייקטים של CrowdingSpec, המערכת תעריך את הצפיפות בכל שילוב ייחודי של ערכי field, והערך של maxCount יהיה הערך המקסימלי של maxCount בכל האובייקטים של CrowdingSpec. לדוגמה, אם ב-CrowdingSpec הראשון הערך של field הוא color והערך של maxCount הוא 3, וב-CrowdingSpec השני הערך של field הוא size והערך של maxCount הוא 2, אז אחרי שיוחזרו 3 מסמכים עם אותו צבע ואותה מידה, המסמכים הבאים צריכים להיות מוסרים או להופיע במקום נמוך יותר.

session

string

שם המשאב של הסשן. זה שינוי אופציונלי.

הסשן מאפשר למשתמשים לבצע קריאות ל-API של חיפוש רב-שלבי או תיאום בין קריאות ל-API של חיפוש וקריאות ל-API של תשובה.

דוגמה מספר 1 (קריאות ל-API של חיפוש רב-שלבי): קריאה ל-API של חיפוש עם מזהה הסשן שנוצר בקריאה הראשונה. כאן, שאילתת החיפוש הקודמת נלקחת בחשבון בחישוב המעמד של השאילתה. כלומר, אם השאילתה הראשונה היא "How did Alphabet do in 2022?‎" (מה היו הביצועים של אלפבית בשנת 2022?) והשאילתה הנוכחית היא "מה לגבי 2023?", השאילתה הנוכחית תפורש כ "מה היו הביצועים של Alphabet בשנת 2023?".

דוגמה מספר 2 (תיאום בין קריאות ל-API של /search וקריאות ל-API של /answer): קוראים ל-API של /answer עם מזהה הסשן שנוצר בקריאה הראשונה. במקרה הזה, יצירת התשובה מתבצעת בהקשר של תוצאות החיפוש מהקריאה הראשונה לחיפוש.

sessionSpec

object (SessionSpec)

מפרט הסשן.

אפשר להשתמש בו רק אם מוגדר session.

relevanceThreshold

enum (RelevanceThreshold)

סף הרלוונטיות הגלובלי של תוצאות החיפוש.

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

אם נדרש סינון רלוונטיות מפורט יותר, אפשר להשתמש במקום זאת בפונקציה relevanceFilterSpec.

התכונה הזו לא נתמכת בחיפוש מידע בתחום הבריאות.

relevanceFilterSpec

object (RelevanceFilterSpec)

זה שינוי אופציונלי. המפרט של סינון רלוונטיות ברמת פירוט גבוהה.

אם לא מציינים את המדיניות, נעשה שימוש במדיניות הגלובלית relevanceThreshold לכל החיפושים המשניים. אם מציינים את הפרמטר הזה, הוא מבטל את ההגדרה הגלובלית relevanceThreshold ומשתמש בדרישות סף לכל חיפוש משנה.

התכונה הזו נתמכת כרגע רק בחיפוש מותאם אישית ובחיפוש באתר.

personalizationSpec

object (PersonalizationSpec)

המפרט להתאמה אישית.

שימו לב: אם גם ServingConfig.personalization_spec וגם SearchRequest.personalization_spec מוגדרים, SearchRequest.personalization_spec מבטל את ServingConfig.personalization_spec.

relevanceScoreSpec

object (RelevanceScoreSpec)

זה שינוי אופציונלי. ההגדרה להחזרת ציון הרלוונטיות.

searchAddonSpec

object (SearchAddonSpec)

זה שינוי אופציונלי. ה-SearchAddonSpec משמש להשבתת תוספים לחיפוש בהתאם למודל התמחור החדש. השדה הזה נתמך רק בבקשות חיפוש.

customRankingParams

object (CustomRankingParams)

זה שינוי אופציונלי. הגדרה אופציונלית של התכונה 'דירוג בהתאמה אישית'.

entity

string

זה שינוי אופציונלי. הישות של לקוחות שעשויים להפעיל כמה ישויות, דומיינים, אתרים או אזורים שונים, למשל Google US,‏ Google Ads,‏ Waymo,‏ google.com,‏ youtube.com וכו'. אם ההגדרה הזו מוגדרת, היא צריכה להיות זהה בדיוק ל-UserEvent.entity כדי לקבל תוצאות חיפוש שמשופרות על ידי הישות.

ImageQuery

מציינת את הקלט של שאילתת התמונה.

ייצוג JSON
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "imageBytes": string
  // End of mutually exclusive fields.
}
שדות
מציין את בייטים של התמונה. בהמשך מפורטת רשימה של שדות שאי אפשר להשתמש בהם בו-זמנית. רק אחד מהשדות הבאים יוגדר בתשובה:
imageBytes

string

בייטים של תמונה בקידוד Base64. הפורמטים הנתמכים של תמונות: JPEG,‏ PNG ו-BMP.

סוף השדות הבלעדיים.

FacetSpec

מפרט של היבט לביצוע חיפוש עם היבטים.

ייצוג JSON
{
  "facetKey": {
    object (FacetKey)
  },
  "limit": integer,
  "excludedFilterKeys": [
    string
  ],
  "enableDynamicPosition": boolean
}
שדות
facetKey

object (FacetKey)

חובה. המפרט של מפתח הפן.

limit

integer

הערכים המקסימליים של הפנים שמוחזרים עבור הפן הזה. אם לא מציינים ערך, ברירת המחדל היא 20. הערך המקסימלי המותר הוא 300. ערכים מעל 300 משתנים ל-300. לצורך צבירה בחיפוש בתחום הבריאות, אם הערך של [FacetKey.key] הוא healthcare_aggregation_key, המגבלה תוחלף באופן פנימי ב-10,000, בלי קשר לערך שמוגדר כאן.

אם הערך בשדה הזה הוא שלילי, הפונקציה מחזירה INVALID_ARGUMENT.

excludedFilterKeys[]

string

רשימת מפתחות להחרגה כשמצמצמים את תוצאות החיפוש.

כברירת מחדל, FacetKey.key לא ייכלל במסנן אלא אם כן הוא מופיע בשדה זה.

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

לדוגמה, נניח שיש 100 מסמכים עם היבט הצבע 'אדום' ו-200 מסמכים עם היבט הצבע 'כחול'. שאילתה שמכילה את המסנן color:ANY("Red")‎ ושבה הערך של color הוא FacetKey.key, תחזיר כברירת מחדל רק מסמכים עם הערך Red בתוצאות החיפוש, וגם תחזיר את הערך Red עם הספירה 100 כהיבט הצבע היחיד. למרות שיש גם מסמכים כחולים, הערך 'כחול' לא יוצג כערך היבט זמין.

אם 'color' מופיע ב-'excludedFilterKeys', השאילתה מחזירה את ערכי הפן 'Red' עם ספירה של 100 ואת ערכי הפן 'Blue' עם ספירה של 200, כי המפתח 'color' מוחרג עכשיו מהמסנן. מכיוון שהשדה הזה לא משפיע על תוצאות החיפוש, תוצאות החיפוש עדיין מסוננות בצורה נכונה ומוחזרים רק מסמכים עם הערך 'אדום'.

אפשר להזין עד 100 ערכים. אחרת, מוחזרת שגיאת INVALID_ARGUMENT.

enableDynamicPosition

boolean

ההגדרה הזו מאפשרת להגדיר מיקום דינמי להיבט הזה. אם מוגדר כ-true, מיקום ההיבט הזה בין כל ההיבטים בתגובה ייקבע באופן אוטומטי. אם הפעלתם את ההיבטים הדינמיים, הם יופיעו יחד. אם הערך הוא false, המיקום של הפן הזה בתשובה זהה למיקום שלו בבקשה, והוא מדורג לפני הפנים עם המיקום הדינמי המופעל וכל הפנים הדינמיות.

לדוגמה, יכול להיות שתרצו שתמיד יוחזר בהודעת התגובה היבט של דירוג, אבל לא בהכרח שתמיד יוצג היבט הדירוג בראש התוצאות. במקרה כזה, ניתן להגדיר את enableDynamicPosition ל-true כך שמיקום היבט הדירוג בתגובה ייקבע באופן אוטומטי.

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

  • ‪"rating", enableDynamicPosition = true

  • ‪"price", enableDynamicPosition = false

  • ‫"brands", enableDynamicPosition = false

בנוסף, הפעלתם היבטים דינמיים, שיוצרים היבט gender. אז הסדר הסופי של ההיבטים בתגובה יכול להיות ("מחיר", "מותגים", "דירוג", "מגדר") או ("מחיר", "מותגים", "מגדר", "דירוג"), בהתאם לסדר שבו ה-API מציג את ההיבטים "מגדר" ו "דירוג". עם זאת, שימו לב שהמאפיינים 'מחיר' ו'מותגים' תמיד מדורגים במקום הראשון והשני כי הערך של enableDynamicPosition שלהם הוא false.

FacetKey

מציינת איך מחושב היבט.

ייצוג JSON
{
  "key": string,
  "intervals": [
    {
      object (Interval)
    }
  ],
  "restrictedValues": [
    string
  ],
  "prefixes": [
    string
  ],
  "contains": [
    string
  ],
  "caseInsensitive": boolean,
  "orderBy": string
}
שדות
key

string

חובה. מפתחות נתמכים של פנים מספריות וטקסטואליות באובייקט Document, שעליהם מחושבים ערכי הפנים. מקש ההיבט הוא תלוי-רישיות.

intervals[]

object (Interval)

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

restrictedValues[]

string

מקבלים רק היבט עבור הערכים המוגבלים שצוינו. האפשרות הזו נתמכת רק בשדות טקסט. לדוגמה, נניח שלמאפיין 'קטגוריה' יש שלושה ערכים: 'פעולה > 2022', ‏'פעולה > 2021' ו'מדע בדיוני > 2022'. אם מגדירים את restrictedValues ל-Action > 2022, הפן category מכיל רק את הערך Action > 2022. האפשרות הזו נתמכת רק בשדות טקסט. המספר המקסימלי הוא 10.

prefixes[]

string

מקבלים רק ערכי היבטים שמתחילים בקידומת המחרוזת שצוינה. לדוגמה, נניח שלמאפיין 'קטגוריה' יש שלושה ערכים: 'פעולה > 2022', ‏'פעולה > 2021' ו'מדע בדיוני > 2022'. אם "prefixes" מוגדר ל-"Action", הפן "category" מכיל רק את "Action > 2022" ו-"Action > 2021". האפשרות הזו נתמכת רק בשדות טקסט. המספר המקסימלי הוא 10.

contains[]

string

קבל רק ערכי פאקט המכילים את המחרוזות הנתונות. לדוגמה, נניח שלמאפיין 'קטגוריה' יש שלושה ערכים: 'פעולה > 2022', ‏'פעולה > 2021' ו'מדע בדיוני > 2022'. אם "מכיל" מוגדר כ-"2022", הקטגוריה "קטגוריה" מכילה רק "פעולה > 2022" ו "מדע בדיוני > 2022". האפשרות הזו נתמכת רק בשדות טקסט. המספר המקסימלי הוא 10.

caseInsensitive

boolean

הערך True מציין שחיפוש ערכי היבטים עם קידומות או עם האפשרות contains לא יתחשב באותיות רישיות. אחרת, הערך הוא False.

orderBy

string

הסדר שבו המסמכים מוחזרים.

הערכים המותרים הם:

אם לא מגדירים את המאפיין הזה, ערכים טקסטואליים ממוינים לפי סדר טבעי, ומרווחים מספריים ממוינים לפי הסדר שמוגדר ב-FacetSpec.FacetKey.intervals.

מרווח

מרווח של נקודה צפה.

ייצוג JSON
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "minimum": number,
  "exclusiveMinimum": number
  // End of mutually exclusive fields.

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "maximum": number,
  "exclusiveMaximum": number
  // End of mutually exclusive fields.
}
שדות

הגבול התחתון של המרווח. אם אף אחד משדות המינימום אינו מוגדר, אז הגבול התחתון הוא אינסוף מינוס.

הערך בשדה הזה לא יכול להיות גדול מהערך המקסימלי. אחרת, תוחזר השגיאה INVALID_ARGUMENT. בהמשך מפורטת רשימה של שדות שאי אפשר להשתמש בהם בו-זמנית. רק אחד מהשדות הבאים יוגדר בתשובה:

minimum

number

הגבול התחתון, כולל.

exclusiveMinimum

number

גבול תחתון בלעדי.

סוף השדות הבלעדיים.

הגבול העליון של המרווח. אם אף אחד מהשדות של המקסימום לא מוגדר, הגבול העליון הוא אינסוף חיובי.

שדה זה אינו יכול להיות קטן מ-min. אחרת, תוחזר שגיאת INVALID_ARGUMENT. בהמשך מפורטת רשימה של שדות שאי אפשר להשתמש בהם בו-זמנית. רק אחד מהשדות הבאים יוגדר בתשובה:

maximum

number

הגבול העליון כולל.

exclusiveMaximum

number

הגבול העליון לא נכלל.

סוף השדות הבלעדיים.

QueryExpansionSpec

הגדרה שקובעת באילו תנאים תתבצע הרחבת שאילתה.

ייצוג JSON
{
  "condition": enum (Condition),
  "pinUnexpandedResults": boolean
}
שדות
condition

enum (Condition)

התנאי שבו תתבצע הרחבת השאילתה. ברירת המחדל היא Condition.DISABLED.

pinUnexpandedResults

boolean

האם להצמיד תוצאות לא מורחבות. אם השדה הזה מוגדר כ-True, המוצרים שלא הורחבו תמיד מופיעים בראש תוצאות החיפוש, ואחריהם התוצאות המורחבות.

תנאי

סוג enum שמתאר את התנאים שבהם צריכה להתרחש הרחבת שאילתה.

טיפוסים בני מנייה (enum)
CONDITION_UNSPECIFIED לא צוין תנאי להרחבת שאילתה. במקרה כזה, התנהגות השרת תהיה Condition.DISABLED כברירת מחדל.
DISABLED הרחבת השאילתה מושבתת. רק שאילתת החיפוש המדויקת משמשת, גם אם הערך של SearchResponse.total_size הוא אפס.
AUTO הרחבת שאילתה אוטומטית שנוצרה על ידי Search API.

SpellCorrectionSpec

המפרט של תיקון איות בשאילתות.

ייצוג JSON
{
  "mode": enum (Mode)
}
שדות
mode

enum (Mode)

המצב שבו בדיקת האיות מחליפה את שאילתת החיפוש המקורית. ברירת המחדל היא Mode.AUTO.

מצב

סוג Enum שמתאר באיזה מצב צריך לבצע תיקון שגיאות כתיב.

טיפוסים בני מנייה (enum)
MODE_UNSPECIFIED מצב לא מוגדר של תיקון שגיאות כתיב. במקרה כזה, התנהגות השרת תהיה Mode.AUTO כברירת מחדל.
SUGGESTION_ONLY ‫Search API מנסה למצוא הצעה לתיקון איות. אם נמצאת הצעה, היא מוצגת ב-SearchResponse.corrected_query. ההצעה לתיקון האיות לא תשמש כשאילתת החיפוש.
AUTO תיקון איות אוטומטי שמובנה ב-Search API. אם נמצאה שאילתה מתוקנת, החיפוש יתבסס עליה.

EmbeddingSpec

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

ייצוג JSON
{
  "embeddingVectors": [
    {
      object (EmbeddingVector)
    }
  ]
}
שדות
embeddingVectors[]

object (EmbeddingVector)

וקטור ההטמעה שמשמש לאחזור. הגבלה ל-1.

EmbeddingVector

וקטור הטמעה.

ייצוג JSON
{
  "fieldPath": string,
  "vector": [
    number
  ]
}
שדות
fieldPath

string

הטמעת נתיב השדה בסכימה.

vector[]

number

וקטור הטמעה של השאילתה.

RankingExpressionBackend

הקצה העורפי שמשמש להערכת ביטוי הדירוג.

טיפוסים בני מנייה (enum)
RANKING_EXPRESSION_BACKEND_UNSPECIFIED אפשרות ברירת המחדל לערכים לא ידועים או לא מוגדרים.
BYOE

הוצא משימוש: במקומו, צריך להשתמש ב-RANK_BY_EMBEDDING. דירוג לפי מודל הטמעה מותאם אישית, שיטת ברירת המחדל להערכת ביטוי הדירוג. אפשרות enum מדור קודם, במקומה צריך להשתמש ב-RANK_BY_EMBEDDING.

CLEARBOX

הוצא משימוש: במקומו, צריך להשתמש ב-RANK_BY_FORMULA. דירוג לפי נוסחה בהתאמה אישית. אפשרות enum מדור קודם, במקומה צריך להשתמש ב-RANK_BY_FORMULA.

RANK_BY_EMBEDDING דירוג לפי מודל הטמעה מותאם אישית, שיטת ברירת המחדל להערכת ביטוי הדירוג.
RANK_BY_FORMULA דירוג לפי נוסחה בהתאמה אישית.

NaturalLanguageQueryUnderstandingSpec

מפרט להפעלת יכולות של הבנת שפה טבעית (NLU) לבקשות חיפוש.

ייצוג JSON
{
  "filterExtractionCondition": enum (FilterExtractionCondition),
  "geoSearchQueryDetectionFieldNames": [
    string
  ],
  "extractedFilterBehavior": enum (ExtractedFilterBehavior),
  "allowedFieldNames": [
    string
  ]
}
שדות
filterExtractionCondition

enum (FilterExtractionCondition)

התנאי שלפיו יתבצע חילוץ המסנן. התנהגות השרת היא DISABLED כברירת מחדל.

geoSearchQueryDetectionFieldNames[]

string

שמות השדות שמשמשים לסינון לפי מיקום, כשמסנני מיקום גיאוגרפי מזוהים בשאילתות חיפוש בשפה טבעית. המאפיין הזה תקף רק אם הערך של FilterExtractionCondition הוא ENABLED.

extractedFilterBehavior

enum (ExtractedFilterBehavior)

זה שינוי אופציונלי. קובע את אופן ההחלה של המסננים שחולצו על החיפוש. התנהגות ברירת המחדל תלויה בבקשה. עבור חיפוש מובנה של מאגר נתונים יחיד, ברירת המחדל היא HARD_FILTER. בחיפוש בכמה מאגרי נתונים, פעולת ברירת המחדל היא SOFT_BOOST. מסננים שמבוססים על מיקום תמיד מוחלים כמסננים קשיחים, וההגדרה SOFT_BOOST לא תשפיע עליהם. השדה הזה נמצא בשימוש רק אם הערך של SearchRequest.NaturalLanguageQueryUnderstandingSpec.FilterExtractionCondition הוא FilterExtractionCondition.ENABLED.

allowedFieldNames[]

string

זה שינוי אופציונלי. רשימת שדות המותרים בהם ניתן להשתמש לחילוץ באמצעות מסנן שפה טבעית. כברירת מחדל, אם לא מציינים את זה, כל השדות שאפשר להוסיף לאינדקס יכולים לשמש לחילוץ מסננים בשפה טבעית (אבל לא בטוח שהם ישמשו). אם מציינים שדות כלשהם ב-allowedFieldNames, רק השדות שמסומנים כניתנים להוספה לאינדקס בסכימה ומופיעים ברשימת ההיתרים יהיו כשירים לחילוץ של מסננים בשפה טבעית. הערה: אין עדיין תמיכה בחיפוש בכמה מאגרי נתונים, והחיפוש יתעלם מההגדרה הזו.

FilterExtractionCondition

סוג Enum שמתאר את התנאי שבו צריך לבצע חילוץ של מסנן.

טיפוסים בני מנייה (enum)
CONDITION_UNSPECIFIED התנהגות השרת היא DISABLED כברירת מחדל.
DISABLED השבתה של חילוץ מסננים בשפה טבעית.
ENABLED הפעלה של חילוץ מסננים בשפה טבעית.

ExtractedFilterBehavior

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

טיפוסים בני מנייה (enum)
EXTRACTED_FILTER_BEHAVIOR_UNSPECIFIED EXTRACTED_FILTER_BEHAVIOR_UNSPECIFIED ישתמש בהתנהגות ברירת המחדל עבור מסננים שחולצו. עבור חיפוש מאגר נתונים יחיד, ברירת המחדל היא להחיל כמסננים קשיחים. בחיפוש בכמה מאגרי נתונים, ברירת המחדל היא להחיל את ההגדרות כהגברות קלות.
HARD_FILTER המערכת מחילה את כל המסננים שחולצו כמסננים קבועים על התוצאות. תוצאות שלא עומדות במסננים שחולצו לא יוחזרו בקבוצת התוצאות.
SOFT_BOOST המערכת מחילה את כל המסננים שחולצו כהגברות קלות. התוצאות שעוברות את המסננים מקודמות לדירוגים גבוהים יותר בסט התוצאות.

SearchAsYouTypeSpec

מפרט לחיפוש תוך כדי הקלדה בבקשות חיפוש.

ייצוג JSON
{
  "condition": enum (Condition)
}
שדות
condition

enum (Condition)

התנאי שבו אמור להתבצע חיפוש תוך כדי הקלדה. ברירת המחדל היא Condition.DISABLED.

תנאי

ספירה אובייקטיבית המתארת ​​באילו תנאים אמור להתרחש חיפוש תוך כדי הקלדה.

טיפוסים בני מנייה (enum)
CONDITION_UNSPECIFIED התנהגות השרת היא Condition.DISABLED כברירת מחדל.
DISABLED השבתת החיפוש בזמן ההקלדה.
ENABLED הפעלת החיפוש בזמן ההקלדה.
AUTO מעבר אוטומטי בין מצב חיפוש תוך הקלדה לבין מצב חיפוש רגיל, אידיאלי להטמעות של API יחיד (למשל, ביטול כפילויות).

DisplaySpec

מציינת תכונות לתצוגה, כמו הדגשה של התאמה.

ייצוג JSON
{
  "matchHighlightingCondition": enum (MatchHighlightingCondition)
}
שדות
matchHighlightingCondition

enum (MatchHighlightingCondition)

התנאי שבו יסומנו התאמות.

MatchHighlightingCondition

סוג Enum שמתאר את התנאי שבו יסומן התאמה.

טיפוסים בני מנייה (enum)
MATCH_HIGHLIGHTING_CONDITION_UNSPECIFIED התנהגות השרת זהה לזו של MATCH_HIGHLIGHTING_DISABLED.
MATCH_HIGHLIGHTING_DISABLED מבטל סימון התאמות בכל המסמכים.
MATCH_HIGHLIGHTING_ENABLED ההגדרה הזו מאפשרת להדגיש התאמות בכל המסמכים.

CrowdingSpec

מפרט לגבי צפיפות. הצפיפות משפרת את המגוון של תוצאות החיפוש על ידי הגבלת מספר התוצאות שמשתפות את אותו ערך שדה. לדוגמה, אם תגדירו את הפרמטר maxCount ל-3 ואת הפרמטר mode ל-DROP_CROWDED_RESULTS בשדה הצבע, המערכת תחזיר לכל היותר 3 תוצאות עם אותו צבע בכל הדפים.

ייצוג JSON
{
  "field": string,
  "maxCount": integer,
  "mode": enum (Mode)
}
שדות
field

string

השדה שישמש לצפיפות. השדה באובייקט Document יכול לתפוס הרבה מקום במסמכים. השדה 'עומס' הוא תלוי אותיות רישיות.

maxCount

integer

המספר המקסימלי של מסמכים לשמירה לכל ערך של השדה. ברגע שיש לפחות maxCount תוצאות קודמות המכילות את אותו ערך עבור השדה הנתון (בהתאם לסדר שצוין ב-orderBy), תוצאות מאוחרות יותר עם אותו ערך "נדחקות". אם לא מציינים ערך, ערך ברירת המחדל הוא 1.

mode

enum (Mode)

המצב שבו משתמשים במסמכים שמוסתרים.

מצב

סוג Enum שמתאר את המצב שבו יש להשתמש במסמכים שמוסתרים. אפשר להוריד אותן או להעביר אותן לדפים הבאים.

טיפוסים בני מנייה (enum)
MODE_UNSPECIFIED מצב צפיפות לא מוגדר. במקרה כזה, התנהגות השרת תהיה Mode.DROP_CROWDED_RESULTS כברירת מחדל.
DROP_CROWDED_RESULTS השמטת תוצאות צפופות.
DEMOTE_CROWDED_RESULTS_TO_END הורדת תוצאות צפופות לדפים מאוחרים יותר.

SessionSpec

מפרט הסשן.

ייצוג JSON
{
  "queryId": string,
  "searchResultPersistenceCount": integer
}
שדות
queryId

string

אם מוגדר, תוצאת החיפוש מאוחסנת ב'תור' שצוין על ידי מזהה השאילתה הזה.

דוגמה: נניח שהסשן נראה כך: session { name: ".../sessions/xxx" turns { query { text: "What is foo?" queryId: ".../questions/yyy" } answer: "Foo is ..." } turns { query { text: "How about bar then?" queryId: ".../questions/zzz" } } }

המשתמש יכול לקרוא ל-/search API עם בקשה כזו:

session: ".../sessions/xxx" sessionSpec { queryId: ".../questions/zzz" }

לאחר מכן, ה-API מאחסן את תוצאת החיפוש, המשויכת לסיבוב האחרון. ניתן להשתמש בתוצאת החיפוש המאוחסנת על ידי קריאה ל-API של /answer (עם זיהוי הסשן ומזהה השאילתה שצוינו). בנוסף, אפשר להתקשר אל ‎ /search ו-‎ /answer במקביל עם אותו מזהה סשן ומזהה שאילתה.

searchResultPersistenceCount

integer

מספר התוצאות העליונות בחיפוש שיישארו. אפשר להשתמש בתוצאות החיפוש שנשמרו לקריאה הבאה ל-API‏ /answer.

שדה זה דומה לשדה summaryResultCount ב-SearchRequest.ContentSearchSpec.SummarySpec.summary_result_count.

עד 10 תוצאות במצב מסמכים, או 50 במצב חלקי טקסט.

RelevanceThreshold

סף הרלוונטיות של תוצאות החיפוש. ככל שסף הרלוונטיות גבוה יותר, כך מוצגות יותר תוצאות רלוונטיות ומוחזרות פחות תוצאות.

טיפוסים בני מנייה (enum)
RELEVANCE_THRESHOLD_UNSPECIFIED ערך ברירת המחדל. במקרה זה, התנהגות השרת מוגדרת כברירת מחדל לסף שהוגדר על ידי גוגל.
LOWEST סף הרלוונטיות הנמוך ביותר.
LOW סף רלוונטיות נמוך.
MEDIUM סף רלוונטיות בינוני.
HIGH סף רלוונטיות גבוה.

RelevanceFilterSpec

מפרט של סינון לפי רלוונטיות.

ייצוג JSON
{
  "keywordSearchThreshold": {
    object (RelevanceThresholdSpec)
  },
  "semanticSearchThreshold": {
    object (RelevanceThresholdSpec)
  }
}
שדות
keywordSearchThreshold

object (RelevanceThresholdSpec)

זה שינוי אופציונלי. הגדרה של סף סינון הרלוונטיות לחיפוש מילות מפתח.

semanticSearchThreshold

object (RelevanceThresholdSpec)

זה שינוי אופציונלי. הגדרה של סף סינון הרלוונטיות לחיפוש סמנטי.

RelevanceThresholdSpec

הגדרה של סינון לפי רלוונטיות בחיפוש משנה ספציפי.

ייצוג JSON
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "relevanceThreshold": enum (RelevanceThreshold),
  "semanticRelevanceThreshold": number
  // End of mutually exclusive fields.
}
שדות
הגדרה של אופן קביעת סף הרלוונטיות. בהמשך מפורטת רשימה של שדות שאי אפשר להשתמש בהם בו-זמנית. רק אחד מהשדות הבאים יוגדר בתשובה:
relevanceThreshold

enum (RelevanceThreshold)

סף רלוונטיות מוגדר מראש לחיפוש המשנה.

semanticRelevanceThreshold

number

סף רלוונטיות מותאם אישית לחיפוש המשנה. הערך חייב להיות בין 0.0 ל-1.0 (כולל).

סוף השדות הבלעדיים.

RelevanceScoreSpec

ההגדרה של ציון הרלוונטיות של המסמך.

ייצוג JSON
{
  "returnRelevanceScore": boolean
}
שדות
returnRelevanceScore

boolean

זה שינוי אופציונלי. האם להחזיר את ציון הרלוונטיות של תוצאות החיפוש. ככל שהציון גבוה יותר, כך המסמך רלוונטי יותר לשאילתה.

SearchAddonSpec

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

ייצוג JSON
{
  "disableSemanticAddOn": boolean,
  "disableKpiPersonalizationAddOn": boolean,
  "disableGenerativeAnswerAddOn": boolean
}
שדות
disableSemanticAddOn

boolean

זה שינוי אופציונלי. אם הערך הוא True, התוסף הסמנטי מושבת. התוסף הסמנטי כולל הטמעות ו-Jetstream.

disableKpiPersonalizationAddOn

boolean

זה שינוי אופציונלי. אם הערך הוא true, המערכת משביתה את הדירוג מחדש של האירועים ואת ההתאמה האישית כדי לבצע אופטימיזציה של מדדי ה-KPI ולהתאים אישית את התוצאות.

disableGenerativeAnswerAddOn

boolean

זה שינוי אופציונלי. אם הערך הוא true, התוסף ליצירת תשובות מושבת. תוסף התשובות הגנרטיביות כולל שפה טבעית לסינון ותשובות פשוטות.

CustomRankingParams

פרמטרים של הגדרות לתכונה 'דירוג בהתאמה אישית'.

ייצוג JSON
{
  "expressionsToPrecompute": [
    string
  ]
}
שדות
expressionsToPrecompute[]

string

זה שינוי אופציונלי. רשימה של ביטויי דירוג (ראו rankingExpression לתיעוד התחביר) להערכה. תוצאות ההערכה יוחזרו בשדה SearchResponse.SearchResult.rank_signals.precomputed_expression_values.

QuerySetSpec

תיאור המפרט של קבוצת השאילתות.

ייצוג JSON
{
  "sampleQuerySet": string
}
שדות
sampleQuerySet

string

זה שינוי אופציונלי. שם המשאב המלא של ה-SampleQuerySet בו נעשה שימוש להערכה, בפורמט projects/{project}/locations/{location}/sampleQuerySets/{sampleQuerySet}.

QualityMetrics

תיאור של המדדים שנוצרו בתהליך הבדיקה.

ייצוג JSON
{
  "docRecall": {
    object (TopkMetrics)
  },
  "docPrecision": {
    object (TopkMetrics)
  },
  "docNdcg": {
    object (TopkMetrics)
  },
  "pageRecall": {
    object (TopkMetrics)
  },
  "pageNdcg": {
    object (TopkMetrics)
  }
}
שדות
docRecall

object (TopkMetrics)

החזרת מידע לכל מסמך, ברמות שונות של סף עליון k.

זכירה היא חלק המסמכים הרלוונטיים שנאספו מתוך כלל המסמכים הרלוונטיים.

דוגמה (5 המובילים): * עבור שאילתה אחת SampleQuery, אם 3 מתוך 5 מסמכים רלוונטיים אוחזרו ב-5 המובילים, recall@5 = 3/5 = 0.6

docPrecision

object (TopkMetrics)

רמת הדיוק לכל מסמך, ברמות שונות של סף עליון k.

הדיוק הוא החלק היחסי של המסמכים שאוחזרו מתוך המסמכים הרלוונטיים.

דוגמה (5 המובילים): * עבור SampleQuery יחיד, אם 4 מתוך 5 מסמכים שאוחזרו ב-5 המובילים רלוונטיים, precision@5 = 4/5 = 0.8

docNdcg

object (TopkMetrics)

רווח מצטבר מהוון מנורמל (NDCG) לכל מסמך, ברמות סף שונות של top-k.

המדד NDCG מודד את איכות הדירוג, ונותן משקל גבוה יותר לרלוונטיות של התוצאות העליונות.

דוגמה (3 המובילים): נניח ש-SampleQuery עם שלושה מסמכים שאוחזרו (D1, D2, D3) ושיפוטי רלוונטיות בינאריים (1 לרלוונטי, 0 ללא רלוונטי):

התוצאות שהתקבלו: [D3 (0), D1 (1), D2 (1)] התוצאות האידיאליות: [D1 (1), D2 (1), D3 (0)]

מחשבים את NDCG@3 לכל SampleQuery: * DCG@3: 0/log2(1+1) + 1/log2(2+1) + 1/log2(3+1) = 1.13 * Ideal DCG@3: 1/log2(1+1) + 1/log2(2+1) + 0/log2(3+1) = 1.63 * NDCG@3: 1.13/1.63 = 0.693

pageRecall

object (TopkMetrics)

החזרת תוצאות לכל דף, ברמות שונות של סף עליון k.

המדד Recall הוא החלק היחסי של הדפים הרלוונטיים שאוחזרו מתוך כל הדפים הרלוונטיים.

דוגמה (5 המובילות): * אם מחפשים SampleQuery, ומתוך 5 דפים רלוונטיים, 3 מאוחזרים בין 5 המובילות, recall@5 = 3/5 = 0.6

pageNdcg

object (TopkMetrics)

רווח מצטבר מוזל מנורמל (NDCG) לכל דף, ברמות שונות של סף עליון k.

המדד NDCG מודד את איכות הדירוג, ונותן משקל גבוה יותר לרלוונטיות של התוצאות העליונות.

דוגמה (3 המובילים): נניח ש-SampleQuery עם שלושה דפים שאוחזרו (P1, ‏ P2, ‏ P3) ושיפוטי רלוונטיות בינאריים (1 לרלוונטי, 0 ללא רלוונטי):

הוחזרו: [P3 (0), P1 (1), P2 (1)] אידיאלי: [P1 (1), P2 (1), P3 (0)]

חישוב NDCG@3 עבור SampleQuery: * DCG@3: 0/log2(1+1) + 1/log2(2+1) + 1/log2(3+1) = 1.13 * DCG@3 אידיאלי: 1/log2(1+1) + 1/log2(2+1) + 0/log2(3+1) = 1.63 * NDCG@3: 1.13/1.63 = 0.693

TopkMetrics

מאחסן את ערכי המדדים ברמות ספציפיות של k המילים המובילות.

ייצוג JSON
{
  "top1": number,
  "top3": number,
  "top5": number,
  "top10": number
}
שדות
top1

number

הערך הכי גבוה.

top3

number

הערך שנמצא במקום השלישי.

top5

number

הערך שנמצא במקום החמישי.

top10

number

הערך של 10% המוצרים המובילים.

מדינה

תיאור של מצב ההערכה.

טיפוסים בני מנייה (enum)
STATE_UNSPECIFIED ההערכה לא צוינה.
PENDING השירות מתכונן להפעלת ההערכה.
RUNNING ההערכה מתבצעת.
SUCCEEDED ההערכה הושלמה בהצלחה.
FAILED ההערכה נכשלה.

Methods

create

יצירת Evaluation.

get

הפונקציה מחזירה Evaluation.

list

מקבל רשימה של Evaluation.

listResults

מקבל רשימה של תוצאות עבור Evaluation נתון.