אפשר לעדכן את הנתונים המובְנים של הסכימה ונתונים לא מובְנים עם מטא-נתונים שתומכים בסכימה.
אפשר לעדכן את הסכימה במסוף Google Cloud או באמצעות שיטת ה-API schemas.patch.
כדי לעדכן את הסכימה, אפשר להוסיף שדות חדשים, לשנות את ההערות של שדה שניתן להוסיף לאינדקס, לחפש ולאחזר, או לסמן שדה כמאפיין מפתח, כמו title, uri ו-description.
עדכון הסכימה
אפשר לעדכן את הסכימה במסוף Google Cloud או באמצעות ה-API.
המסוף
כדי לעדכן סכימה במסוף Google Cloud , פועלים לפי השלבים הבאים:
כדי לוודא שעדכון הסכימה תקין, עיינו בקטע דרישות ומגבלות.
אם אתם מעדכנים הערות של שדות (הגדרת שדות כניתנים לאינדוקס, לאחזור, לסינון דינמי, לחיפוש או להשלמה), כדאי לעיין במאמר הגדרת שדות כדי להבין את המגבלות והדרישות של כל סוג הערה.
בודקים שהשלמתם את הטמעת הנתונים. אחרת, יכול להיות שהסכימה עדיין לא תהיה זמינה לעריכה.
נכנסים לדף Gemini Enterprise במסוף Google Cloud .
בתפריט הניווט, לוחצים על מאגרי נתונים.
בעמודה Name (שם), לוחצים על מאגר הנתונים עם הסכימה שרוצים לעדכן.
לוחצים על הכרטיסייה Schema כדי לראות את הסכימה של הנתונים.
יכול להיות שהכרטיסייה הזו תהיה ריקה אם זו הפעם הראשונה שאתם עורכים את השדות.
לוחצים על הכפתור עריכה.
מעדכנים את הסכימה:
מיפוי מאפייני מפתח: בעמודה מאפייני מפתח בסכימה, בוחרים מאפיין מפתח למיפוי שדה. לדוגמה, אם שדה בשם
detailsתמיד מכיל את התיאור של מסמך, ממפים את השדה הזה למאפיין המפתח Description.עדכון מספר המאפיינים (מתקדם): אתם יכולים לעדכן את ההגדרה הזו אם אתם משתמשים בהטמעות וקטוריות מותאמות אישית עם Gemini Enterprise. אפשר לעיין במאמר שימוש בהטמעות בהתאמה אישית בתיעוד של Agent Search.
עדכון הערות בשדות: כדי לעדכן הערות בשדה, בוחרים או מבטלים את הבחירה בהגדרת ההערות של השדה. ההערות הזמינות הן Retrievable, Indexable, Dynamic Facetable, Searchable ו-Completable. בחלק מהגדרות השדות יש מגבלות. בקטע הגדרת שדות מופיעים תיאורים ודרישות לכל סוג של הערה.
הוספת שדה חדש: אם מוסיפים שדות חדשים לסכימה לפני שמייבאים מסמכים חדשים עם השדות האלה, Gemini Enterprise יכול לבצע אינדוקס מחדש של הנתונים אחרי הייבוא בזמן קצר יותר.
לוחצים על הוספת שדות חדשים כדי להרחיב את הקטע הזה.
לוחצים על add_box Add node ומגדירים את השדה החדש.
כדי לציין מערך, מגדירים את Array (מערך) לערך Yes (כן). לדוגמה, כדי להוסיף מערך של מחרוזות, מגדירים את type לערך
stringואת Array לערךYes.
לוחצים על שמירה כדי להחיל את השינויים בסכימה.
שינוי הסכימה מפעיל אינדוקס מחדש. במאגרי נתונים גדולים, תהליך ההוספה מחדש לאינדקס יכול להימשך כמה שעות.
REST
כדי להשתמש ב-API לעדכון הסכימה:
כדי לוודא שהשינויים בסכימה תקפים, כדאי לעיין בקטע דרישות ומגבלות ובקטע דוגמאות למגבלות (ל-REST בלבד).
כדי לעדכן את הסכימה של מאגרי נתונים לא מובְנים עם מטא-נתונים, דלגו לשלב 5 והפעילו את ה-method
schema.patch.אם אתם מעדכנים הערות של שדות (הגדרת שדות כניתנים לאינדוקס, לאחזור, לסינון דינמי או לחיפוש), כדאי לעיין במאמר הגדרת שדות כדי להבין את המגבלות והדרישות של כל סוג הערה.
אם אתם עורכים סכימה שזוהתה אוטומטית, חשוב לוודא שסיימתם את הטמעת הנתונים. אחרת, יכול להיות שהסכימה עדיין לא תהיה זמינה לעריכה.
מאתרים את המזהה של מאגר הנתונים. אם כבר יש לכם מזהה של מאגר נתונים, אפשר לדלג לשלב הבא.
במסוף Google Cloud , עוברים לדף Gemini Enterprise ובתפריט הניווט לוחצים על מאגרי נתונים.
לוחצים על השם של מאגר הנתונים.
בדף 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: מזהה הפרויקט. -
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#
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי C#ההוראות להגדרה במאמר תחילת העבודה עם Gemini Enterprise באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Gemini Enterprise C# API.
כדי לבצע אימות ב-Gemini Enterprise, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Go
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Goההוראות להגדרה במאמר תחילת העבודה עם Gemini Enterprise באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Gemini Enterprise Go API.
כדי לבצע אימות ב-Gemini Enterprise, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaההוראות להגדרה במאמר תחילת העבודה עם Gemini Enterprise באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Gemini Enterprise Java API.
כדי לבצע אימות ב-Gemini Enterprise, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Python במדריך למתחילים של Gemini Enterprise באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Gemini Enterprise Python API.
כדי לבצע אימות ב-Gemini Enterprise, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Ruby
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Ruby במדריך למתחילים של Gemini Enterprise באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Gemini Enterprise Ruby API.
כדי לבצע אימות ב-Gemini Enterprise, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
דרישות ומגבלות
כשמעדכנים סכימה, חשוב לוודא שהסכימה החדשה תואמת לאחור לסכימה שמעדכנים. כדי לעדכן סכימה עם סכימה חדשה שאינה תואמת לדור קודם, צריך למחוק את כל המסמכים במאגר הנתונים, למחוק את הסכימה וליצור סכימה חדשה.
עדכון של סכימה מפעיל הוספה מחדש לאינדקס של כל המסמכים. הוספה מחדש לאינדקס של מאגר נתונים גדול יכולה להימשך כמה שעות או ימים.
עדכוני סכימה לא תומכים בפעולות הבאות:
- שינוי סוג השדה. אי אפשר לשנות את סוג השדה בעדכון הסכימה. לדוגמה, אי אפשר לשנות שדה שממופה ל-
integerל-string. - הסרת שדה אחרי שמגדירים שדה, אי אפשר להסיר אותו. אפשר להמשיך להוסיף שדות חדשים, אבל אי אפשר להסיר שדה קיים.
דוגמאות למגבלות (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" } } } }