שיפור איכות החיפוש

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

דירוג מתייחס לסדר הפריטים, וזכיר מתייחס למספר הפריטים הרלוונטיים שאוחזרו. פריט (שנקרא גם מסמך) הוא כל קטע של תוכן דיגיטלי ש-Google Cloud Search יכול להוסיף לאינדקס. סוגי הפריטים כוללים מסמכי Microsoft Office, קובצי PDF, שורה במסד נתונים, כתובות URL ייחודיות וכו'. הפריט מורכב מהרכיבים הבאים:

  • מטא-נתונים מובנים
  • תוכן שניתן להוסיף לאינדקס
  • ACLs (רשימות בקרת גישה)

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

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

השפעה על ציון הנושאים

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

  • החשיבות של כל מונח שאילתה.
  • מספר ההתאמות (מספר הפעמים שמונח שאילתה הופיע בתוכן או במטא-נתונים של הפריט).
  • סוגי ההתאמה למונח השאילתה ולגרסאות שלהם מופיעים לצד פריט שנוסף לאינדקס ב-Cloud Search.

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

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

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

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

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

{
  "objectDefinitions": [
    {
      "name": "issues",
      "propertyDefinitions": [
        {
          "name": "summary",
          "textPropertyOptions": {
            "retrievalImportance": {
              "importance": HIGHEST
              }
            }
          },
        {
          "name": "description",
          "textPropertyOptions": {
            "retrievalImportance": {
              "importance": DEFAULT
              }
            }
          },
        {
          "name": "label",
            "isRepeatable": true,
          "textPropertyOptions": {
            "retrievalImportance": {
              "importance": DEFAULT
              }
            }
          },
        {
          "name": "comments",
          "textPropertyOptions": {
            "retrievalImportance": {
              "importance": DEFAULT
              }
            }
          },
        {
          "name": "project",
          "textPropertyOptions": {
            "retrievalImportance": {
              "importance": HIGH
              }
            }
          },
        {
          "name": "duedate",
          "datePropertyOptions": {
          }
        },
        ...
      ]
    }
  ]
}

במקרה של מסמכי HTML, משתמשים בתגים כמו <title> ו-<h1>, יחד עם הגדרות עיצוב כמו גודל הגופן והדגשה, כדי לקבוע את החשיבות של מונחים שונים. אם הערך ContentFormat הוא TEXT, לItemContent יש חשיבות אחזור DEFAULT ואם הוא HTML, חשיבות האחזור שלו נקבעת על סמך מאפייני ה-HTML.

השפעה על עדכניות

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

ניתן להשפיע על אופן החישוב של עדכניות האובייקט על ידי התאמת ה-freshnessProperty וה-freshnessDuration של FreshnessOptions בסכימה.

freshnessProperty מאפשר להשתמש במאפייני תאריך או חותמת זמן כדי לחשב עדכניות במקום updateTime ברירת המחדל.

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

{
  "objectDefinitions": [
    {
      "name": "issues",
      "options": {
        "freshnessOptions": {
          "freshnessProperty": "duedate"
        }
      },
      "propertyDefinitions": [
        {
          "name": "summary",
          "textPropertyOptions": {
            "retrievalImportance": {
              "importance": HIGHEST
            }
          }
        },
        {
          "name": "duedate",
          "datePropertyOptions": {
          }
        },
        ...
      ]
    }
  ]
}

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

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

{
  "objectDefinitions": [
    {
      "name": "people",
      "options": {
        "freshnessOptions": {
          "freshnessDuration": "315360000s", # 100 years
        }
      },
    }
  ]
}

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

{
  "objectDefinitions": [
    {
      "name": "news",
      "options": {
        "freshnessOptions": {
          "freshnessDuration": "259200s", # 3 days
        }
      },
    }
  ]
}

להשפיע על האיכות

איכות היא מדד למידת הדיוק והתועלת של פריט. מקור נתונים יכול להכיל כמה מסמכים דומים מבחינה סמנטית, וכל אחד מהם ברמת איכות שונה. אפשר לציין ערך איכות בין 0 ל-1 באמצעות SearchQualityMetadata. פריטים עם ערכים גבוהים יותר מקבלים דירוג גבוה יותר ביחס לפריטים עם ערכים נמוכים יותר. השתמשו בהגדרה הזו רק אם אתם צריכים להשפיע או לשפר את האיכות של פריט מחוץ למידע שמסופק ל-Cloud Search.

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

בהמשך מוצגת סכימה לדוגמה שמכילה הגדרות של SearchQualityMetadata לבעיות במערכת למעקב אחר באגים:

{
  "name": "datasources/.../items/issue1",
  "acl": {
    ...
  },
  "metadata": {
    "title": "Issue 1"
    "objectType": "issues"
  },
  ...
}

{
  "name": "datasources/.../items/issue2",
  "acl": {
    ...
  },
  "metadata": {
    "title": "Issue 2"
    "objectType": "issues"
    "searchQualityMetadata": {
      "quality": 0.5
    }
  },
  ...
}

{
  "name": "datasources/.../items/issue3",
  "acl": {
    ...
  },
  "metadata": {
    "title": "Issue 3"
    "objectType": "issues"
    "searchQualityMetadata": {
      "quality": 1
    }
  },
  ...
}

בהתאם לסכימה הזו, כשמשתמש מבצע חיפוש באמצעות מונח החיפוש 'בעיה', בעיה 3 בסכימה (איכות 1) מדורגת גבוה יותר מבעיה 2 (איכות .5) ומבעיה 1 (אם לא צוין דבר, איכות ברירת המחדל היא 0).

השפעה באמצעות סוג שדה

בעזרת Cloud Search אפשר להשפיע על הדירוג על סמך הערך של המאפיינים 'טיפוסים בני מנייה (enum)' או 'מספרים שלמים'. לכל מאפיין מסוג מספר שלם או טיפוסים בני מנייה אפשר לציין OrderedRanking. ההגדרה הזו כוללת את הערכים הבאים:

  • NO_ORDER (ברירת המחדל): המאפיין לא משפיע על הדירוג.
  • ASCENDING: פריטים עם ערכים גבוהים יותר של מאפיין המספר השלם או המאפיין 'טיפוסים בני מנייה (enum)' מקבלים שיפור בדירוג בהשוואה לפריטים עם ערכים נמוכים יותר.
  • DESCENDING: פריטים עם ערכים נמוכים יותר של מאפיין המספר השלם או המאפיין 'טיפוסים בני מנייה (enum)' מקבלים שיפור בדירוג בהשוואה לפריטים עם ערכים גבוהים יותר.

לדוגמה, נניח שלכל באג במערכת למעקב אחר באגים יש מאפיין 'טיפוסים בני מנייה (enum)' לשמירת העדיפות של הבאג כ-HIGH (1), MEDIUM (2) או LOW (3). בתרחיש הזה, הגדרת OrderedRanking של DESCENDING תשפר את הדירוג לבאגים בעדיפות HIGH בהשוואה לבאגים בעדיפות של LOW. בהמשך מוצגת סכימה לדוגמה שמכילה הגדרות של OrderedRanking לבעיות במערכת למעקב אחר באגים:

{
  "objectDefinitions": [
    {
      "name": "issues",
      "options": {
        "freshnessOptions": {
          "freshnessProperty": "duedate",
        }
      },
      "propertyDefinitions": [
        {
          "name": "summary",
          "textPropertyOptions": {
            "retrievalImportance": {
              "importance": HIGHEST
            }
          }
        },
        {
          "name": "duedate",
          "datePropertyOptions": {
          }
        },
        {
          "name": "priority",
          "enumPropertyOptions": {
            "possibleValues": [
              {
                "stringValue": "HIGH",
                "integerValue": 1
              },
              {
                "stringValue": "MEDIUM",
                "integerValue": 2
              },
              {
                "stringValue": "LOW",
                "integerValue": 3
              }
            ],
            "orderedRanking": DESCENDING,
          }
        },

        ...
      ]
    }
  ]
}

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

{
  "objectDefinitions": [
    {
      "name": "issues",
      "propertyDefinitions": [
        {
          "name": "summary",
          "textPropertyOptions": {
            "retrievalImportance": {
              "importance": HIGHEST
            }
          }
        },
        {
          "name": "description",
          "textPropertyOptions": {
            "retrievalImportance": {
              "importance": DEFAULT
            }
          }
        },
        {
          "name": "votes",
          "integerPropertyOptions": {
            "orderedRanking": ASCENDING,
            "minimumValue": 0,
            "maximumValue": 1000,
          }
        },

        ...
      ]
    }
  ]
}

השפעה על הדירוג באמצעות הרחבת שאילתות

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

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

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

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

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

ב-Cloud Search מוצגות הצעות איות שמבוססות על מודלים שנוצרו על סמך נתונים ציבוריים של חיפוש Google. אם Cloud Search מזהה שגיאת איות בהקשר של שאילתה, הוא מחזיר את השאילתה המוצעת בSpellResult. ניתן להציג למשתמש את האיות המוצע כהצעה. לדוגמה, המשתמש עלול לאיית את מונח השאילתה באופן שגוי "employe" ולקבל את ההצעה "האם התכוונת לעובד?".

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

השפעה על הדירוג באמצעות הגדרות של אפליקציית חיפוש

כפי שצוין במאמר מבוא ל-Google Cloud Search, אפליקציית חיפוש היא קבוצה של הגדרות שכאשר הן משויכות לממשק חיפוש הן מספקות מידע שמספק הקשר לגבי חיפושים. ההגדרות הבאות מאפשרות לכם להשפיע על הדירוג באפליקציית החיפוש:

  • הגדרת הניקוד
  • הגדרת המקור

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

שינוי תצורת הציון

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

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

לקבלת הוראות מפורטות להגדרת ההגדרה הזו, אפשר לעיין במאמר התאמה אישית של חוויית החיפוש ב-Cloud Search.

שינוי הגדרת המקור

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

  • חשיבות המקור
  • קיבוץ באשכולות

הגדרת חשיבות המקור

חשיבות המקור מתייחסת לחשיבות היחסית של מקור נתונים באפליקציית חיפוש. אפשר לציין את ההגדרה הזו בשדה SourceImportance בתוך SourceScoringConfig. פריטים ממקור נתונים עם חשיבות מקור אחת (HIGH) מקבלים שיפור בדירוג בהשוואה לפריטים ממקור נתונים עם חשיבות של DEFAULT או LOW. כדאי להשתמש בהגדרה הזו כדי להשפיע על הדירוג כשאתם סבורים שמשתמשים מעדיפים תוצאות ממקורות נתונים מסוימים.

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

לקבלת הוראות מפורטות להגדרת ההגדרה הזו, אפשר לעיין במאמר התאמה אישית של חוויית החיפוש ב-Cloud Search.

הגדרת צפיפות

Crowding מתייחס למספר המקסימלי של תוצאות שאפשר להחזיר ממקור נתונים באפליקציית חיפוש. אפשר לשלוט בערך הזה באמצעות השדה numResults ב-SourceCrowdingConfig. ערך ברירת המחדל הוא 3, כלומר, אם הצגנו 3 תוצאות ממקור נתונים, Cloud Search מתחיל להציג תוצאות ממקורות נתונים אחרים. פריטים ממקור הנתונים הראשון נבדקים מחדש רק אם כל מקורות הנתונים מגיעים למגבלת הצפיפות, או אם אין יותר תוצאות ממקורות נתונים אחרים.

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

לקבלת הוראות מפורטות להגדרת ההגדרה הזו, אפשר לעיין במאמר התאמה אישית של חוויית החיפוש ב-Cloud Search.

השפעה על הדירוג באמצעות התאמה אישית

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

  • הבעלות על הפריט
  • אינטראקציה עם פריט
  • קליקים של משתמשים
  • שפת הפריט

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

השפעה על הדירוג על סמך הבעלות על הפריט

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

שיפור הדירוג על סמך אינטראקציה עם פריט

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

במוצרי Google Workspace, כמו Drive ו-Gmail, מתקבלים אותות של אינטראקציות עם פריטים באופן אוטומטי. לגבי מוצרים אחרים, אפשר לספק נתוני אינטראקציה ברמת הפריט, כולל סוג האינטראקציה (תצוגה, עריכה), חותמת הזמן של האינטראקציה וחשבון המשתמש (משתמש שהייתה לו אינטראקציה עם הפריט). שימו לב שפריטים עם אינטראקציות אחרונות מקבלים שיפור בדירוג.

שיפור הדירוג על סמך קליקים של משתמשים

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

השפעה על דירוג באמצעות פירוש שאילתות

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

העלאת הדירוג על סמך שפת הפריט

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

  • שפת השאילתה. השפה של שאילתת החיפוש שזוהתה באופן אוטומטי, או languageCode שצוינה ב-RequestOptions.

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

  • שפת הפריט. contentLanguage מוגדר ב-ItemMetadata בזמן האינדקס, או שפת התוכן שזוהתה באופן אוטומטי על ידי Cloud Search.

    אם השדה contentLanguage של המסמך נשאר ריק בזמן האינדקס, והשדה ItemContent מאוכלס, Cloud Search ינסה לזהות את השפה ב-ItemContent וישמור אותה באופן פנימי. השפה שמזוהה באופן אוטומטי לא מתווספת לשדה contentLanguage.

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

העלאת הדירוג על סמך ההקשר של הפריט

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

לדוגמה, נניח שפריט, כמו מסמך הטבות לעובד, רלוונטי יותר בהקשר של Location ו-Department, כמו עיר (San Francisco), מדינה (California), מדינה (USA) ו-Department (Engineering). במקרה כזה, אפשר להוסיף את הפריט לאינדקס עם המאפיינים הבאים בעלי השמות:

{
  ...
  "metadata": {
    "contextAttributes": [
      {
        name: "Location"
        values: [
          "San Francisco",
          "California",
          "USA"
        ],
      },
      {
        name: "Department"
        values: [
          "Engineering"
        ],
      }
    ],
  },
  ...
}

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

{
  ...
  "contextAttributes": [
    {
      name: "Location"
      values: [
        "Chicago",
        "Illinois",
        "USA"
      ],
    },
    {
      name: "Department"
      values: [
        "Engineering"
      ],
    }
  ],
  ...
}

מכיוון שגם הפריט שנוסף לאינדקס וגם בקשת החיפוש מכילים את המאפיינים "Ministry=Engineering" ו-"Location=USA", הפריט שנוסף לאינדקס (מסמך להטבת העובד) מופיע במיקום גבוה יותר בתוצאות החיפוש.

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

{
  ...
  "contextAttributes": [
    {
      name: "Location"
      values: [
        "Bengaluru",
        "Karnataka",
        "India"
      ],
    },
    {
      name: "Department"
      values: [
        "Engineering"
      ],
    }
  ],
  ...
}

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

הנה כמה הקשרים לדוגמה שאולי תרצו להשתמש בהם כדי לשפר את הדירוג:

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

השפעה על הדירוג על סמך הפופולריות של הפריטים

Cloud Search מגדיל את הדירוג של פריטים פופולריים, כלומר, את הפריטים שקיבלו קליקים בשאילתות החיפוש האחרונות.

השפעה על הדירוג באמצעות הגדלה של מספר הקליקים

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

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

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

הגדרהמיקוםמומלץ/אופציונליפרטים
הגדרות סכימה
השדה ItemContentItemContentמומלץכשיוצרים או מעדכנים סכימה, צריך לאכלס את התוכן הלא מובנה של פריט. השדה הזה משמש ליצירת קטעי מידע.
השדה RetrievalImportanceRetrievalImportanceמומלץכשיוצרים או מעדכנים סכימה, צריך להגדיר מאפייני טקסט שהם בבירור חשובים או קשורים לנושא.
FreshnessOptionsFreshnessOptionsאופציונליכשיוצרים או מעדכנים סכימה, חשוב להגדיר שהפריטים לא יורדו בגלל נתונים שגויים או מקרים שבהם חסרים נתונים.
הגדרות של הוספה לאינדקס
createTime/updateTimeItemMetadataמומלץאכלוס במהלך הוספת פריט לאינדקס.
contentLanguageItemMetadataמומלץאכלוס במהלך הוספת פריט לאינדקס. אם השדה הזה חסר, Cloud Search ינסה לזהות את השפה בItemContent.
השדה ownersItemAcl()מומלץאכלוס במהלך הוספת פריט לאינדקס.
מילים נרדפות בהתאמה אישיתסכימה _dictionaryEntryמומלץצריך להגדיר ברמת מקור הנתונים או כמקור נתונים נפרד במהלך ההוספה לאינדקס.
השדה qualitySearchQualityMetadataאופציונליכדי לשפר את האיכות הבסיסית בהשוואה לפריטים אחרים שדומים מבחינה סמנטית, כדאי להגדיר את האיכות במהלך ההוספה לאינדקס. הגדרת השדה הזה לכל הפריטים במקור הנתונים תבטל את ההשפעה שלו.
נתוני אינטראקציה ברמת הפריטinteractionאופציונליאם מקור הנתונים מתעד ומספק גישה לאינטראקציות של המשתמש, לאכלס את האינטראקציות של כל פריט במהלך ההוספה לאינדקס.
מאפייני מספרים שלמים/טיפוסים בניוםOrderedRankingאופציונליכאשר סדר הפריטים רלוונטי, יש לציין את הדירוג לפי סדר המאפיינים של מספרים שלמים וטיפוסים מסוג 'טיפוסים בני מנייה (enum)' במהלך ההוספה לאינדקס.
הגדרות של אפליקציית חיפוש
Personalization=falseScoringConfig או באמצעות ממשק המשתמש של CloudSearch לניהול המערכתמומלץכשיוצרים או מעדכנים את אפליקציית החיפוש. חשוב למסור את פרטי הבעלים הנכונים, כמו שמתואר בקטע 'השפעה על הדירוג' באמצעות התאמה אישית
השדה SourceImportanceSourceCrowdingConfigאופציונליכדי להטות את התוצאות ממקורות נתונים מסוימים, צריך להגדיר את השדה הזה.
השדה numResultsSourceCrowdingConfigאופציונליכדי לשלוט במגוון התוצאות, צריך להגדיר את השדה הזה.

השלבים הבאים

פירטנו כאן כמה פעולות שאפשר לבצע:

  1. בניית סכימה לפירוש שאילתות אופטימלי.

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