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)
  },

  // Union field search_spec can be only one of the following:
  "searchRequest": {
    object (SearchRequest)
  }
  // End of list of possible types for union field search_spec.
}
שדות
querySetSpec

object (QuerySetSpec)

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

שדה איחוד search_spec. מפרט החיפוש. הערך search_spec יכול להיות רק אחד מהבאים:
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,
  "contentSearchSpec": {
    object (ContentSearchSpec)
  },
  "embeddingSpec": {
    object (EmbeddingSpec)
  },
  "rankingExpression": string,
  "rankingExpressionBackend": enum (RankingExpressionBackend),
  "safeSearch": boolean,
  "userLabels": {
    string: string,
    ...
  },
  "naturalLanguageQueryUnderstandingSpec": {
    object (NaturalLanguageQueryUnderstandingSpec)
  },
  "searchAsYouTypeSpec": {
    object (SearchAsYouTypeSpec)
  },
  "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 הספציפיים שייכללו בחיפוש, יחד עם הגדרות למאגרי הנתונים האלה. ההגדרה הזו רלוונטית רק לEngines עם כמה מאגרי נתונים. אם המנוע כולל מאגר נתונים יחיד, צריך להשתמש במפרטים שמופיעים ישירות מתחת ל-SearchRequest.

numResultsPerDataStore

integer

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

filter

string

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

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

הסינון ב-Vertex AI Search מתבצע על ידי מיפוי של מפתח הסינון LHS למאפיין מפתח שמוגדר ב-backend של Vertex AI Search. הלקוח מגדיר את המיפוי הזה בסכימה שלו. לדוגמה, ללקוח בתחום המדיה יכול להיות שדה בשם '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. מידע נוסף מופיע במאמר בנושא שדות רגילים. אם הערך מוגדר, התוצאות יקבלו דחיפה על סמך הערך של regionCode שסופק.

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.

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.

displaySpec

object (DisplaySpec)

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

crowdingSpecs[]

object (CrowdingSpec)

זה שינוי אופציונלי. מפרטים לגבי צפיפות כדי לשפר את מגוון התוצאות. אם מציינים כמה CrowdingSpecs, הצפיפות תיבדק בכל שילוב ייחודי של ערכי field, והערך של maxCount יהיה הערך המקסימלי של maxCount בכל ה-CrowdingSpecs. לדוגמה, אם ב-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
{

  // Union field image can be only one of the following:
  "imageBytes": string
  // End of list of possible types for union field image.
}
שדות
שדה איחוד image. מציין את בייטים של התמונה. הערך image יכול להיות רק אחד מהבאים:
imageBytes

string

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

DataStoreSpec

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

ייצוג JSON
{
  "dataStore": string,
  "filter": string,
  "boostSpec": {
    object (BoostSpec)
  },
  "customSearchOperators": string,
  "numResults": integer
}
שדות
dataStore

string

חובה. שם המשאב המלא של DataStore, כמו projects/{project}/locations/{location}/collections/{collectionId}/dataStores/{dataStoreId}. הנתיב חייב לכלול את מספר הפרויקט. אי אפשר להשתמש במזהה הפרויקט בשדה הזה.

filter

string

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

boostSpec

object (BoostSpec)

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

customSearchOperators

string

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

numResults

integer

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

BoostSpec

הגדרת חיזוק כדי להדגיש מסמכים מסוימים.

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

object (ConditionBoostSpec)

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

ConditionBoostSpec

ההגדרה 'הדגשה' חלה על מסמכים שעומדים בתנאי מסוים.

ייצוג JSON
{
  "condition": string,
  "boost": number,
  "boostControlSpec": {
    object (BoostControlSpec)
  }
}
שדות
condition

string

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

דוגמאות:

  • כדי להגביר את החשיפה של מסמכים עם מזהה המסמך doc_1 או doc_2, ועם הצבע Red או Blue: (documentId: ANY("doc_1", "doc_2")) AND (color: ANY("Red", "Blue"))
boost

number

עוצמת ההגברה של התנאי, שצריכה להיות בטווח [‎-1, 1]. הגברה שלילית משמעותה הורדה בדרגה. ברירת המחדל היא 0.0.

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

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

הגדרה של 0.0 פירושה שלא מוחל שיפור. המערכת מתעלמת מתנאי ההדגשה. רק אחד מהשילובים (תנאי, הגברה) או מה-boostControlSpec שלמטה מוגדר. אם שני המאפיינים מוגדרים, המערכת מתעלמת מההגברה הגלובלית ומחילה את ההגדרה המפורטת יותר boostControlSpec.

boostControlSpec

object (BoostControlSpec)

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

BoostControlSpec

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

ייצוג JSON
{
  "fieldName": string,
  "attributeType": enum (AttributeType),
  "interpolationType": enum (InterpolationType),
  "controlPoints": [
    {
      object (ControlPoint)
    }
  ]
}
שדות
fieldName

string

השם של השדה שהערך שלו ישמש לקביעת סכום ההגדלה.

attributeType

enum (AttributeType)

סוג המאפיין שמשמש לקביעת סכום ההגדלה. אפשר לגזור את ערך המאפיין מערך השדה של fieldName שצוין. במקרה של ערך מספרי, זה פשוט: attributeValue = numerical_field_value. במקרה של טריות, attributeValue = (time.now() - datetime_field_value).

interpolationType

enum (InterpolationType)

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

controlPoints[]

object (ControlPoint)

נקודות הבקרה שמשמשות להגדרת העקומה. הפונקציה המונוטונית (מוגדרת באמצעות interpolationType שלמעלה) עוברת דרך נקודות הבקרה שמפורטות כאן.

AttributeType

המאפיין(או הפונקציה) שעליו יחול הדירוג המותאם אישית.

טיפוסים בני מנייה (enum)
ATTRIBUTE_TYPE_UNSPECIFIED סוג מאפיין לא מזוהה.
NUMERICAL הערך של השדה המספרי ישמש לעדכון דינמי של סכום ההגדלה. במקרה הזה, ערך המאפיין (ערך x) של נקודת הבקרה יהיה הערך בפועל של השדה המספרי שעבורו צוין boostAmount.
FRESHNESS בתרחיש השימוש הזה, ערך המאפיין יהיה משך הזמן שחלף בין השעה הנוכחית לבין התאריך בשדה התאריך והשעה שצוין. הערך צריך להיות בפורמט של ערך XSD dayTimeDuration (קבוצת משנה מוגבלת של ערך משך זמן לפי תקן ISO 8601). הדוגמה לכך היא: [nD][T[nH][nM][nS]]. לדוגמה, 5D, ‏ 3DT12H30M, ‏ T24H.

InterpolationType

סוג האינטרפולציה שרוצים להחיל. ברירת המחדל תהיה לינארית (Piecewise Linear).

טיפוסים בני מנייה (enum)
INTERPOLATION_TYPE_UNSPECIFIED לא צוין סוג האינטרפולציה. במקרה כזה, ברירת המחדל היא לינארית.
LINEAR תופעל אינטרפולציה ליניארית מקטעית.

ControlPoint

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

ייצוג JSON
{
  "attributeValue": string,
  "boostAmount": number
}
שדות
attributeValue

string

יכול להיות אחד מהערכים הבאים: 1. הערך המספרי של השדה. 2. מפרט משך הזמן של הרעננות: הערך צריך להיות בפורמט של ערך XSD dayTimeDuration (קבוצת משנה מוגבלת של ערך משך זמן בפורמט ISO 8601). הדוגמה לכך היא: [nD][T[nH][nM][nS]].

boostAmount

number

הערך בין ‎-1 ל-1 שבו יש להגדיל את הניקוד אם הערך של attributeValue שווה לערך שצוין למעלה.

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. אז הסדר הסופי של ההיבטים בתגובה יכול להיות ("price", "brands", "rating", "gender") או ("price", "brands", "gender", "rating"), בהתאם לסדר שבו ה-API מציג את ההיבטים gender ו-rating. עם זאת, שימו לב שהמאפיינים price ו-brands תמיד מדורגים במקום הראשון והשני כי הערך של enableDynamicPosition שלהם הוא false.

FacetKey

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

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

string

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

intervals[]

object (Interval)

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

restrictedValues[]

string

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

prefixes[]

string

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

contains[]

string

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

caseInsensitive

boolean

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

orderBy

string

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

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

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

מרווח

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

ייצוג JSON
{

  // Union field min can be only one of the following:
  "minimum": number,
  "exclusiveMinimum": number
  // End of list of possible types for union field min.

  // Union field max can be only one of the following:
  "maximum": number,
  "exclusiveMaximum": number
  // End of list of possible types for union field max.
}
שדות

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

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

minimum

number

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

exclusiveMinimum

number

הגבול התחתון לא נכלל.

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

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

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 שמתאר איך המסננים שחולצו מוחלים על החיפוש.

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

SearchAsYouTypeSpec

הגדרה של חיפוש בזמן ההקלדה בבקשות חיפוש.

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

enum (Condition)

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

תנאי

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

טיפוסים בני מנייה (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" } } }

המשתמש יכול להפעיל את API‏ /search באמצעות בקשה כמו זו:

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 ערך ברירת המחדל. במקרה כזה, התנהגות השרת תהיה כברירת מחדל בהתאם לסף שמוגדר על ידי Google.
LOWEST סף הרלוונטיות הנמוך ביותר.
LOW סף רלוונטיות נמוך.
MEDIUM סף רלוונטיות בינוני.
HIGH סף רלוונטיות גבוה.

RelevanceFilterSpec

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

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

object (RelevanceThresholdSpec)

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

semanticSearchThreshold

object (RelevanceThresholdSpec)

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

RelevanceThresholdSpec

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

ייצוג JSON
{

  // Union field relevance_threshold_spec can be only one of the following:
  "relevanceThreshold": enum (RelevanceThreshold),
  "semanticRelevanceThreshold": number
  // End of list of possible types for union field relevance_threshold_spec.
}
שדות
שדה איחוד relevance_threshold_spec. הגדרה של אופן קביעת סף הרלוונטיות. הערך relevance_threshold_spec יכול להיות רק אחד מהבאים:
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)

החזרת מידע לכל מסמך, ברמות שונות של סף חיתוך top-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)

רווח מצטבר מוזל (DCG) לנורמליזציה לכל מסמך, ברמות שונות של סף עליון 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 אחד, ו-3 מתוך 5 הדפים הרלוונטיים מאוחזרים ב-5 המובילות, recall@5 = 3/5 = 0.6

pageNdcg

object (TopkMetrics)

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

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

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

Retrieved: [P3 (0), P1 (1), P2 (1)] Ideal: [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 נתון.