איכות החיפוש מתייחסת לאיכות תוצאות החיפוש מבחינת דירוג והיזכרות, כפי שהמשתמש ששולח את שאילתת החיפוש תופס אותה.
דירוג מתייחס לסדר הפריטים, והחזרה מתייחסת למספר הפריטים הרלוונטיים שאוחזרו. פריט (שנקרא גם מסמך) הוא כל פיסת תוכן דיגיטלי ש-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 (איכות 0 .5) ומבעיה 1 (אם לא מצוין דבר, איכות ברירת המחדל היא 0).
השפעה לפי סוג השדה
באמצעות Cloud Search אפשר להשפיע על הדירוג על סמך הערך של מאפייני enum או מספרים שלמים. לכל מאפיין מסוג מספר שלם או 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
.
האיות המוצע יכול להיות מוצג למשתמש כהצעה. לדוגמה, יכול להיות שהמשתמש יקליד את המילה 'עובד' עם שגיאת כתיב, ואז תופיע ההצעה 'התכוונת לכתוב עובד?'.
בנוסף, Cloud Search משתמש בתיקוני איות כמילים נרדפות כדי לאחזר מסמכים שאולי לא היו מאוחזרים אחרת בגלל שגיאת איות.
השפעה על הדירוג באמצעות הגדרות של אפליקציית החיפוש
כמו שצוין במבוא ל-Google Cloud Search, אפליקציית חיפוש היא קבוצה של הגדרות, שכשהיא משויכת לממשק חיפוש, היא מספקת מידע הקשרי על חיפושים. ההגדרות הבאות מאפשרות להשפיע על הדירוג באמצעות אפליקציית החיפוש:
- הגדרות הניקוד
- הגדרת המקור
בקטעים הבאים מוסבר איך ההגדרות האלה יכולות להשפיע על הדירוג.
שינוי הגדרות הניקוד
לכל אפליקציית חיפוש אפשר לציין ScoringConfig שמשמש לשליטה בהחלה של אותות מסוימים במהלך הדירוג. נכון לעכשיו, אפשר להשבית את העדכניות ואת ההתאמה האישית.
אם השבתתם את הרענון, הוא מושבת לכל מקורות הנתונים שמופיעים באפליקציית החיפוש, בלי קשר לאפשרויות הרענון שצוינו בסכימה של מקור הנתונים. באופן דומה, אם ההתאמה האישית מושבתת, הדירוג לא מושפע מהגברת החשיפה של הערוץ ומהגברת החשיפה של האינטראקציות.
הוראות מפורטות להגדרת ההגדרה הזו מופיעות במאמר התאמה אישית של חוויית החיפוש ב-Cloud Search.
שינוי הגדרת המקור
הגדרת המקור מאפשרת לכם לציין הגדרות ברמת מקור הנתונים באפליקציית חיפוש. יש תמיכה בהגדרות הבאות:
- חשיבות המקור
- קיבוץ באשכולות
הגדרת חשיבות המקור
חשיבות המקור מתייחסת לחשיבות היחסית של מקור נתונים בתוך אפליקציית חיפוש. אפשר לציין את ההגדרה הזו בשדה SourceImportance
בתוך SourceScoringConfig
.
פריטים ממקור נתונים עם חשיבות מקור HIGH
מקבלים דירוג גבוה יותר בהשוואה לפריטים ממקור נתונים עם חשיבות מקור DEFAULT
או LOW
. משתמשים בהגדרה הזו כדי להשפיע על הדירוג כשחושבים שהמשתמשים יעדיפו תוצאות ממקורות נתונים מסוימים.
לדוגמה, נניח שיש לכם פורטל לתמיכה במוצרים שמכיל נתוני פתרון בעיות חיצוניים ופנימיים. במקרה כזה, יכול להיות שתרצו להגדיר את אפליקציית החיפוש כך שהתוצאות ממקור הנתונים הפנימי יקבלו עדיפות.
הוראות מפורטות להגדרת ההגדרה הזו מופיעות במאמר התאמה אישית של חוויית החיפוש ב-Cloud Search.
הגדרת צפיפות
הצפה היא המספר המקסימלי של תוצאות שאפשר להחזיר ממקור נתונים באפליקציית חיפוש. אפשר לשלוט בערך הזה באמצעות השדה 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"
],
}
],
...
}
מכיוון שגם הפריט שעבר אינדוקס וגם בקשת החיפוש מכילים את המאפיינים Department=Engineering ו-Location=USA, הפריט שעבר אינדוקס (מסמך הטבות לעובדים) מופיע במיקום גבוה יותר בתוצאות החיפוש.
נניח שמשתמש אחר, מהנדס בהודו, מזין את שאילתת החיפוש 'הטבות' בממשק החיפוש. הנה בקשת חיפוש שמכילה את המיקום והמחלקה שלהם:
{
...
"contextAttributes": [
{
name: "Location"
values: [
"Bengaluru",
"Karnataka",
"India"
],
},
{
name: "Department"
values: [
"Engineering"
],
}
],
...
}
הפריט שעבר אינדוקס ובקשת החיפוש בלבד מכילים את המאפיין 'Department=Engineering', ולכן הפריט שעבר אינדוקס מופיע רק קצת יותר גבוה בתוצאות החיפוש (בהשוואה לשאילתת החיפוש הראשונה 'benefits' שהוזנה על ידי מהנדס שנמצא בשיקגו, אילינוי, ארה"ב).
הנה כמה דוגמאות להקשרים שבהם כדאי להשתמש כדי לשפר את הדירוג:
- מיקום: פריטים יכולים להיות רלוונטיים יותר למשתמשים במיקום מסוים, כמו בניין, עיר, מדינה או אזור.
- תפקיד: יכול להיות שהפריטים יהיו רלוונטיים יותר למשתמשים בתפקיד מסוים, כמו כותב טכני או מהנדס.
- מחלקות: פריטים יכולים להיות רלוונטיים יותר למחלקות מסוימות, כמו מחלקת המכירות או מחלקת השיווק.
- רמת התפקיד: פריטים יכולים להיות רלוונטיים יותר לרמות תפקיד מסוימות, כמו מנהל או מנכ"ל.
- סוג העובד: פריטים יכולים להיות רלוונטיים יותר לסוגים מסוימים של עובדים, כמו עובדים במשרה חלקית ועובדים במשרה מלאה.
- משך העבודה: יכול להיות שפריטים מסוימים יהיו רלוונטיים יותר לעובדים עם משך עבודה מסוים, למשל עובדים חדשים.
השפעה על הדירוג באמצעות פופולריות הפריט
ב-Cloud Search, המערכת מעלה את הדירוג של פריטים פופולריים, כלומר של פריטים שקיבלו קליקים בשאילתות חיפוש מהזמן האחרון.
השפעה על הדירוג באמצעות clickboost
מערכת Cloud Search אוספת את נתוני הלחיצות על תוצאות החיפוש הנוכחיות, ומשתמשת בהם כדי לשפר את הדירוג של חיפושים עתידיים. לשם כך, היא מקדמת פריטים פופולריים בשאילתת חיפוש מסוימת.
סיכום של הגדרות מומלצות ואופציונליות לאיכות החיפוש
בטבלה הבאה מפורטות כל ההגדרות המומלצות והאופציונליות של איכות החיפוש. ההמלצות האלה אמורות לעזור לכם להפיק את התועלת המרבית ממודלים לדירוג של Cloud Search.
הגדרה | מיקום | מומלץ/אופציונלי | פרטים |
---|---|---|---|
הגדרות סכימה | |||
שדה ItemContent | ItemContent | מומלץ | כשיוצרים או מעדכנים את הסכימה, מאכלסים את התוכן הלא מובנה של פריט. השדה הזה משמש ליצירת תקצירים. |
שדה RetrievalImportance | RetrievalImportance | מומלץ | כשיוצרים או מעדכנים סכימה, צריך להגדיר מאפייני טקסט שהם חשובים או רלוונטיים באופן ברור. |
FreshnessOptions | FreshnessOptions | אופציונלי | כשיוצרים או מעדכנים סכימה, צריך להגדיר אותה כך שהפריטים לא יורדו בגלל נתונים שגויים או מקרים שבהם הנתונים חסרים. |
הגדרות הוספה לאינדקס | |||
createTime /updateTime | ItemMetadata | מומלץ | אכלוס במהלך יצירת אינדקס של פריט. |
contentLanguage | ItemMetadata | מומלץ | אכלוס במהלך יצירת אינדקס של פריט. אם לא מציינים שפה, Cloud Search מנסה לזהות את השפה שבה נעשה שימוש ב-ItemContent . |
שדה owners | ItemAcl() | מומלץ | אכלוס במהלך יצירת אינדקס של פריט. |
מילים נרדפות בהתאמה אישית | _dictionaryEntry סכימה | מומלץ | ההגדרה מתבצעת ברמת מקור הנתונים או כמקור נתונים נפרד במהלך יצירת האינדקס. |
שדה quality | SearchQualityMetadata | אופציונלי | כדי לספק שיפור בסיסי באיכות בהשוואה לפריטים אחרים שדומים מבחינה סמנטית, צריך להגדיר את האיכות במהלך יצירת האינדקס. הגדרת השדה הזה לכל הפריטים במקור נתונים מבטלת את ההשפעה שלו. |
נתוני אינטראקציה ברמת הפריט | interaction | אופציונלי | אם מקור הנתונים מתעד אינטראקציות של משתמשים ומספק גישה אליהן, צריך לאכלס את האינטראקציות עבור כל פריט במהלך יצירת האינדקס. |
מאפייני מספרים שלמים או מאפייני enum | OrderedRanking | אופציונלי | כשסדר הפריטים רלוונטי, מציינים את הדירוג הממוספר של מאפייני מספר שלם ומאפייני enum במהלך יצירת האינדקס. |
הגדרות של אפליקציית חיפוש | |||
Personalization=false | ScoringConfig או באמצעות ממשק המשתמש לניהול של CloudSearch | מומלץ | כשיוצרים או מעדכנים את אפליקציית החיפוש. חשוב לספק את פרטי הבעלים הנכונים כפי שמתואר במאמר שיפור הדירוג באמצעות התאמה אישית |
שדה SourceImportance | SourceCrowdingConfig | אופציונלי | כדי להטות את התוצאות ממקורות נתונים מסוימים, צריך להגדיר את השדה הזה. |
שדה numResults | SourceCrowdingConfig | אופציונלי | כדי לשלוט בגיוון התוצאות, צריך להגדיר את השדה הזה. |
השלבים הבאים
הנה כמה שלבים אפשריים:
_dictionaryEntry
סכימה כדי להגדיר מילים נרדפות למונחים נפוצים בשימוש בחברה. כדי להשתמש בסכימה_dictionaryEntry
, אפשר לעיין במאמר בנושא הגדרת מילים נרדפות.