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.