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)
  }
}
שדות
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 מתבצע על ידי מיפוי של מפתח הסינון בצד ימין למאפיין מפתח שמוגדר בבק-אנד של חיפוש מבוסס-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. מידע נוסף מופיע במאמר בנושא שדות רגילים. אם הערך מוגדר, התוצאות יקבלו דחיפה על סמך הערך של 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: הדירוג שמוגדר כברירת מחדל של התוצאה
rankingExpressionBackend

enum (RankingExpressionBackend)

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

userLabels

map (key: string, value: string)

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

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

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

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

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, ועם הצבע אדום או כחול: (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 הערך של השדה המספרי ישמש לעדכון דינמי של סכום ההגדלה. במקרה הזה, attributeValue (הערך 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.

אם השדה הזה מוגדר, הוא מבטל את שמות השדות שמוגדרים ב-ServingConfig.geo_search_query_detection_field_names.

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, התוסף של תשובות גנרטיביות מושבת. התוסף 'תשובה גנרטיבית' כולל שפה טבעית לסינון ותשובות פשוטות.

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

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

הוחזרו: [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

הערך העשירי.

מדינה

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

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

Methods

create

יצירת Evaluation.

get

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

list

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

listResults

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