איכות החיפוש מתייחסת לאיכות תוצאות החיפוש מבחינת דירוג והיזכרות, כפי שהמשתמש ששולח את שאילתת החיפוש תופס אותה.
דירוג מתייחס לסדר הפריטים, והחזרה מתייחסת למספר הפריטים הרלוונטיים שאוחזרו. פריט (שנקרא גם מסמך) הוא כל פיסת תוכן דיגיטלי ש-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 מעלה את הדירוג של פריטים פופולריים, כלומר של פריטים שקיבלו קליקים בשאילתות חיפוש מהזמן האחרון.
שיפור הדירוג באמצעות הגדלת נפח הקליקים
מערכת 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 או באמצעות ממשק המשתמש לניהול של Cloud Search | מומלץ | כשיוצרים או מעדכנים את אפליקציית החיפוש. חשוב לספק את פרטי הבעלים הנכונים כפי שמתואר במאמר שיפור הדירוג באמצעות התאמה אישית |
שדה SourceImportance | SourceCrowdingConfig | אופציונלי | כדי להטות את התוצאות ממקורות נתונים מסוימים, מגדירים את השדה הזה. |
שדה numResults | SourceCrowdingConfig | אופציונלי | כדי לשלוט בגיוון התוצאות, צריך להגדיר את השדה הזה. |
השלבים הבאים
הנה כמה שלבים אפשריים:
_dictionaryEntry
סכימה כדי להגדיר מילים נרדפות למונחים נפוצים בחברה. כדי להשתמש בסכימה_dictionaryEntry
, אפשר לעיין במאמר בנושא הגדרת מילים נרדפות.