אפשר לעדכן את הסכימה של כל נתון שמכיל נתונים שתומכים בסכימה, כמו נתונים מובְנים, נתוני אתר עם נתונים מובְנים או נתונים לא מובְנים אחרים עם מטא-נתונים.
אפשר לעדכן את הסכימה במסוף Google Cloud או באמצעות שיטת ה-API schemas.patch.
אפשר לעדכן את הסכימה של אתר רק באמצעות API בארכיטקטורת REST.
כדי לעדכן את הסכימה, אפשר להוסיף שדות חדשים, לשנות את ההערות לגבי שדה שאפשר להוסיף לאינדקס, לחפש ולאחזר, או לסמן שדה כמאפיין מפתח, כמו title, uri ו-description.
לפני שמתחילים
לפני שמעדכנים את הסכימה, חשוב להבין את המושגים העיקריים שמוסברים בקטע הזה.
חשיבות המאפיינים העיקריים
יש כמה סיבות לכך שצריך למפות את שדות הסכימה למאפייני מפתח:
Google ממליצה מאוד לעדכן את הסכימה עם מיפויים של מאפייני מפתח, במיוחד עבור
title. כך תוכלו לוודא שהתוצאות יוצגו בצורה נכונה, ולעזור לחיפוש מבוסס סוכנים לזהות מידע חשוב שיאפשר לו ליצור תוצאות טובות יותר.כדי לקבל את אות
keywordSimilarityScoreבתשובה לחיפוש בחנויות עם נתונים מובְנים, צריך לעדכן את הסכימה באופן הבא:- ממפים את שדות הטקסט שחיוניים להתאמה למילות מפתח למאפייני המפתח
titleו-description - תעדכן את ההערה לשדות הטקסט ל-
Searchable
- ממפים את שדות הטקסט שחיוניים להתאמה למילות מפתח למאפייני המפתח
דרישות
כשמעדכנים סכימה, חשוב לוודא שהסכימה החדשה תואמת לאחור לסכימה שמעדכנים. כדי לעדכן סכימה בסכימה חדשה שלא תואמת לאחור, צריך למחוק את כל המסמכים במאגר הנתונים, למחוק את הסכימה וליצור סכימה חדשה.
עדכון של סכימה מפעיל אינדוקס מחדש של כל המסמכים. התהליך הזה יכול לקחת זמן ולגרום לעלויות נוספות:
זמן. יצירת אינדקס מחדש של מאגר נתונים גדול יכולה להימשך שעות או ימים.
הוצאות. יכול להיות שיהיו עלויות על יצירת אינדקס מחדש, בהתאם למנתח. לדוגמה, הוספה מחדש לאינדקס של מאגרי נתונים שמשתמשים במנתח OCR או במנתח פריסות כרוכה בעלויות. מידע נוסף זמין במאמר בנושא תמחור התכונות של Document AI.
השפעה על השירות יכול להיות שהוספה מחדש לאינדקס תוביל להאטה בשירותים או לחוסר זמינות שלהם, במיוחד במאגרי נתונים גדולים. Google ממליצה לתכנן את העדכונים של הסכימה בהתאם – תוך התחשבות בהשבתה פוטנציאלית של אפליקציות קריטיות.
עדכוני סכימה לא תומכים בפעולות הבאות:
- שינוי סוג השדה. עדכון סכימה לא תומך בשינוי הסוג של השדה. לדוגמה, אי אפשר לשנות שדה שממופה ל-
integerל-string. - הסרת שדה אחרי שמגדירים שדה, אי אפשר להסיר אותו. אפשר להמשיך להוסיף שדות חדשים, אבל אי אפשר להסיר שדה קיים.
עדכון הסכימה
אפשר לעדכן את הסכימה במסוף Google Cloud או באמצעות ה-API.
המסוף
כדי לעדכן סכימה במסוף Google Cloud :
כדאי לעיין בקטע דרישות ומגבלות כדי לוודא שעדכון הסכימה תקין.
אם אתם מעדכנים הערות של שדות (הגדרת שדות כניתנים לאינדוקס, לאחזור, לסינון דינמי, לחיפוש או להשלמה), כדאי לעיין במאמר הגדרת שדות כדי להבין את המגבלות והדרישות של כל סוג הערה.
בודקים שהשלמתם את הטמעת הנתונים. אחרת, יכול להיות שהסכימה עדיין לא תהיה זמינה לעריכה.
נכנסים לדף AI Applications במסוף Google Cloud .
בתפריט הניווט, לוחצים על מאגרי נתונים.
בעמודה שם, לוחצים על מאגר הנתונים עם הסכימה שרוצים לעדכן.
לוחצים על הכרטיסייה סכימה כדי לראות את הסכימה של הנתונים.
אם זו הפעם הראשונה שאתם עורכים את השדות, יכול להיות שהכרטיסייה הזו תהיה ריקה.
לוחצים על הלחצן עריכה.
מעדכנים את הסכימה:
מיפוי מאפייני מפתח: בעמודה מאפייני מפתח של הסכימה, בוחרים מאפיין מפתח למיפוי השדה. לדוגמה, אם שדה בשם
detailsתמיד מכיל את תיאור המסמך, צריך למפות את השדה הזה למאפיין המפתח תיאור.עדכון מספר המאפיינים (מתקדם): אפשר לעדכן את ההגדרה הזו אם משתמשים בהטמעות וקטוריות מותאמות אישית עם חיפוש באמצעות סוכן. מידע נוסף על שימוש בהטמעות מותאמות אישית
עדכון הערות בשדות: כדי לעדכן הערות בשדה, בוחרים או מבטלים את הבחירה בהגדרת ההערה של השדה. ההערות הזמינות הן Retrievable, Indexable, Dynamic Facetable, Searchable ו-Completable. יש מגבלות על חלק מההגדרות של השדות. בקטע הגדרת שדות מופיעים תיאורים ודרישות לכל סוג של הערה.
הוספת שדה חדש: הוספת שדות חדשים לסכימה לפני ייבוא מסמכים חדשים עם השדות האלה יכולה לקצר את הזמן שנדרש לחיפוש מבוסס סוכנים כדי ליצור מחדש את האינדקס של הנתונים אחרי הייבוא.
לוחצים על הוספת שדות חדשים כדי להרחיב את הקטע הזה.
לוחצים על add_box הוספת צומת ומציינים את ההגדרות של השדה החדש.
כדי לציין מערך, מגדירים את Array (מערך) לערך Yes (כן). לדוגמה, כדי להוסיף מערך של מחרוזות, מגדירים את type ל-
stringואת Array ל-Yes.באינדקס של מאגר נתוני אתר, כל השדות שמוסיפים הם מערכים כברירת מחדל.
לוחצים על שמירה כדי להחיל את השינויים בסכימה.
שינוי הסכימה מפעיל אינדוקס מחדש. אם מאגרי הנתונים גדולים, יכול להיות שיחלפו שעות עד שהאינדקס ייווצר מחדש.
REST
כדי להשתמש ב-API לעדכון הסכימה, פועלים לפי השלבים הבאים:
כדאי לעיין בקטע דרישות ומגבלות ובקטע דוגמאות למגבלות (ל-REST בלבד) כדי לוודא ששינויי הסכימה שלכם תקינים.
כדי לעדכן את הסכימה של מאגרי נתונים עם אתרים או נתונים לא מובְנים עם מטא-נתונים, אפשר לדלג לשלב 5 כדי להפעיל את השיטה
schema.patch.אם אתם מעדכנים הערות של שדות (הגדרת שדות כניתנים לאינדוקס, לאחזור, לסינון דינמי או לחיפוש), כדאי לעיין במאמר הגדרת שדות כדי להבין את המגבלות והדרישות של כל סוג הערה.
אם אתם עורכים סכימה שזוהתה אוטומטית, ודאו שסיימתם את הטמעת הנתונים. אחרת, יכול להיות שהסכימה עדיין לא תהיה זמינה לעריכה.
איך מוצאים את המזהה של מאגר הנתונים אם כבר יש לכם מזהה של מאגר נתונים, אפשר לדלג לשלב הבא.
במסוף Google Cloud , עוברים לדף AI Applications ובתפריט הניווט לוחצים על Data Stores.
לוחצים על השם של מאגר הנתונים.
בדף Data של מאגר הנתונים, מעתיקים את המזהה של מאגר הנתונים.
משתמשים ב-method schemas.patch של API כדי לספק את סכימת ה-JSON החדשה כאובייקט JSON.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/schemas/default_schema" \ -d '{ "structSchema": JSON_SCHEMA_OBJECT }'מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . -
DATA_STORE_ID: המזהה של מאגר הנתונים של חיפוש מבוסס סוכנים.
JSON_SCHEMA_OBJECT: סכמת ה-JSON החדשה כאובייקט JSON. לדוגמה:{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "title": { "type": "string", "keyPropertyMapping": "title" }, "categories": { "type": "array", "items": { "type": "string", "keyPropertyMapping": "category" } }, "uri": { "type": "string", "keyPropertyMapping": "uri" } } }
-
אופציונלי: בודקים את הסכימה לפי השלבים שמפורטים במאמר הצגת הגדרת סכימה.
C#
מידע נוסף מופיע בתיעוד העזר של ה-API של חיפוש מבוסס סוכנים C#.
כדי לבצע אימות ב-חיפוש מבוסס סוכנים, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Go
מידע נוסף מופיע בתיעוד העזר של ה-API של חיפוש מבוסס סוכנים Go.
כדי לבצע אימות ב-חיפוש מבוסס סוכנים, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Java
מידע נוסף מופיע בתיעוד העזר של ה-API של חיפוש מבוסס סוכנים Java.
כדי לבצע אימות ב-חיפוש מבוסס סוכנים, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
מידע נוסף מופיע בתיעוד העזר של ה-API של חיפוש מבוסס סוכנים Python.
כדי לבצע אימות ב-חיפוש מבוסס סוכנים, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Ruby
מידע נוסף מופיע בתיעוד העזר של ה-API של חיפוש מבוסס סוכנים Ruby.
כדי לבצע אימות ב-חיפוש מבוסס סוכנים, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
דוגמאות למגבלות (REST בלבד)
בקטע הזה מופיעות דוגמאות לעדכונים תקינים ולא תקינים של סכימה. בדוגמאות האלה נעשה שימוש בסכימת ה-JSON הבאה:
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"title": {
"type": "string"
},
"description": {
"type": "string",
"keyPropertyMapping": "description"
},
"categories": {
"type": "array",
"items": {
"type": "string",
"keyPropertyMapping": "category"
}
}
}
}
דוגמאות לעדכונים נתמכים
העדכונים הבאים בסכימת הדוגמה נתמכים.
הוספת שדה. בדוגמה הזו, השדה
properties.uriנוסף לסכימה.{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "title": { "type": "string" }, "description": { "type": "string", "keyPropertyMapping": "description" }, "uri": { // Added field. This is supported. "type": "string", "keyPropertyMapping": "uri" }, "categories": { "type": "array", "items": { "type": "string", "keyPropertyMapping": "category" } } } }הוספה או הסרה של הערות לגבי מאפיינים מרכזיים של
title, descriptionאוuri. בדוגמה הזו, הערךkeyPropertyMappingנוסף לשדהtitle.{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "title": { "type": "string", "keyPropertyMapping": "title" // Added "keyPropertyMapping". This is supported. }, "description": { "type": "string", "keyPropertyMapping": "description" }, "categories": { "type": "array", "items": { "type": "string", "keyPropertyMapping": "category" } } } }
דוגמאות לעדכונים לא תקינים של סכימה
העדכונים הבאים לסכימה לדוגמה לא נתמכים.
שינוי סוג השדה. בדוגמה הזו, הסוג של השדה
titleהשתנה ממחרוזת למספר. האפשרות הזו לא אפשרית.{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "title": { "type": "number" // Changed from string. Not allowed. }, "description": { "type": "string", "keyPropertyMapping": "description" }, "categories": { "type": "array", "items": { "type": "string", "keyPropertyMapping": "category" } } } }הסרת שדה בדוגמה הזו, השדה
titleהוסר. האפשרות הזו לא אפשרית.{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { // "title" is removed. Not allowed. "description": { "type": "string", "keyPropertyMapping": "description" }, "uri": { "type": "string", "keyPropertyMapping": "uri" }, "categories": { "type": "array", "items": { "type": "string", "keyPropertyMapping": "category" } } } }
המאמרים הבאים
- איפה אפשר לראות את הגדרת הסכימה של נתונים מובְנים
- מחיקת סכימה של נתונים מובְנים
- תצוגה מקדימה של תוצאות חיפוש