אפשר לעדכן את הנתונים המובְנים של הסכימה ונתונים לא מובְנים עם מטא-נתונים שתומכים בסכימה.
אפשר לעדכן את הסכימה במסוף Google Cloud או באמצעות שיטת ה-API schemas.patch.
כדי לעדכן את הסכימה, אפשר להוסיף שדות חדשים, לשנות את ההערות לגבי שדה שאפשר להוסיף לאינדקס, לחפש ולאחזר, או לסמן שדה כמאפיין מפתח, כמו title, uri ו-description.
עדכון הסכימה
אפשר לעדכן את הסכימה במסוף Google Cloud או באמצעות ה-API.
המסוף
כדי לעדכן סכימה במסוף Google Cloud :
כדאי לעיין בקטע דרישות ומגבלות כדי לוודא שעדכון הסכימה תקין.
אם אתם מעדכנים הערות של שדות (הגדרת שדות כניתנים לאינדוקס, לאחזור, לסינון דינמי, לחיפוש או להשלמה), כדאי לעיין במאמר הגדרת שדות כדי להבין את המגבלות והדרישות של כל סוג הערה.
בודקים שהשלמתם את הטמעת הנתונים. אחרת, יכול להיות שהסכימה עדיין לא תהיה זמינה לעריכה.
נכנסים לדף Gemini Enterprise במסוף Google Cloud .
בתפריט הניווט, לוחצים על מאגרי נתונים.
בעמודה שם, לוחצים על מאגר הנתונים עם הסכימה שרוצים לעדכן.
לוחצים על הכרטיסייה סכימה כדי לראות את הסכימה של הנתונים.
אם זו הפעם הראשונה שאתם עורכים את השדות, יכול להיות שהכרטיסייה הזו תהיה ריקה.
לוחצים על הלחצן עריכה.
מעדכנים את הסכימה:
מיפוי מאפייני מפתח: בעמודה מאפייני מפתח של הסכימה, בוחרים מאפיין מפתח למיפוי השדה. לדוגמה, אם שדה בשם
detailsתמיד מכיל את תיאור המסמך, צריך למפות את השדה הזה למאפיין המפתח תיאור.עדכון מספר המאפיינים (מתקדם): אפשר לעדכן את ההגדרה הזו אם משתמשים בהטמעות וקטוריות מותאמות אישית עם Gemini Enterprise. אפשר לעיין במאמר בנושא שימוש בהטמעות בהתאמה אישית בתיעוד של חיפוש מבוסס סוכנים.
עדכון הערות בשדות: כדי לעדכן הערות בשדה, בוחרים או מבטלים את הבחירה בהגדרת ההערה של השדה. ההערות הזמינות הן Retrievable, Indexable, Dynamic Facetable, Searchable ו-Completable. יש מגבלות על חלק מההגדרות של השדות. בקטע הגדרת שדות מופיעים תיאורים ודרישות לכל סוג של הערה.
הוספת שדה חדש: אם מוסיפים שדות חדשים לסכימה לפני שמייבאים מסמכים חדשים עם השדות האלה, Gemini Enterprise יכול לבצע אינדוקס מחדש של הנתונים אחרי הייבוא בזמן קצר יותר.
לוחצים על הוספת שדות חדשים כדי להרחיב את הקטע הזה.
לוחצים על add_box הוספת צומת ומציינים את ההגדרות של השדה החדש.
כדי לציין מערך, מגדירים את Array (מערך) לערך Yes (כן). לדוגמה, כדי להוסיף מערך של מחרוזות, מגדירים את type ל-
stringואת Array ל-Yes.
לוחצים על שמירה כדי להחיל את השינויים בסכימה.
שינוי הסכימה מפעיל אינדוקס מחדש. אם מאגרי הנתונים גדולים, יכול להיות שיחלפו שעות עד שהאינדקס ייווצר מחדש.
REST
כדי להשתמש ב-API לעדכון הסכימה, פועלים לפי השלבים הבאים:
כדאי לעיין בקטע דרישות ומגבלות ובקטע דוגמאות למגבלות (ל-REST בלבד) כדי לוודא ששינויי הסכימה שלכם תקינים.
כדי לעדכן את הסכימה של מאגרי נתונים עם נתונים לא מובנים עם מטא-נתונים, אפשר לדלג לשלב 5 כדי להפעיל את השיטה
schema.patch.אם אתם מעדכנים הערות של שדות (הגדרת שדות כניתנים לאינדוקס, לאחזור, לסינון דינמי או לחיפוש), כדאי לעיין במאמר הגדרת שדות כדי להבין את המגבלות והדרישות של כל סוג הערה.
אם אתם עורכים סכימה שזוהתה אוטומטית, ודאו שסיימתם את הטמעת הנתונים. אחרת, יכול להיות שהסכימה עדיין לא תהיה זמינה לעריכה.
איך מוצאים את המזהה של מאגר הנתונים אם כבר יש לכם מזהה של מאגר נתונים, אפשר לדלג לשלב הבא.
במסוף Google Cloud , עוברים לדף Gemini Enterprise ובתפריט הניווט לוחצים על 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: מזהה הפרויקט. -
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" } } } }
המאמרים הבאים
- איפה אפשר לראות את הגדרת הסכימה של נתונים מובְנים
- מחיקת סכימה של נתונים מובְנים
- תצוגה מקדימה של תוצאות חיפוש