כדי להטמיע נתונים מ-Firestore, צריך לבצע את השלבים הבאים כדי ליצור מאגר נתונים ולהטמיע נתונים באמצעות מסוף Google Cloud או ה-API.
אם נתוני Firestore נמצאים באותו פרויקט כמו Gemini Enterprise, עברו אל ייבוא נתונים מ-Firestore.
אם נתוני Firestore נמצאים בפרויקט אחר מהפרויקט של Gemini Enterprise, עברו אל הגדרת הגישה ל-Firestore.
הגדרת גישה ל-Firestore מפרויקט אחר
כדי לתת ל-Gemini Enterprise גישה לנתוני Firestore בפרויקט אחר, פועלים לפי השלבים הבאים:
מחליפים את המשתנה
PROJECT_NUMBERבמספר הפרויקט ב-Gemini Enterprise, ואז מעתיקים את התוכן של בלוק הקוד הזה. זהו המזהה של חשבון השירות שלך ב-Gemini Enterprise:service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.comנכנסים לדף IAM & Admin.
עוברים לפרויקט Firestore בדף IAM & Admin ולוחצים על Grant Access.
בשדה New principals, מזינים את המזהה של חשבון השירות של המכונה ובוחרים את התפקיד Datastore > Cloud Datastore Import Export Admin.
לוחצים על Save.
חוזרים לפרויקט ב-Gemini Enterprise.
עכשיו עוברים לקטע ייבוא נתונים מ-Firestore.
ייבוא נתונים מ-Firestore
המסוף
כדי להטמיע נתונים מ-Firestore באמצעות המסוף:
נכנסים לדף Gemini Enterprise במסוף Google Cloud .
נכנסים לדף Data Stores.
לוחצים על Create Data Store.
בדף Select a data source, בוחרים באפשרות Firestore.
מציינים את מזהה הפרויקט, מזהה מסד הנתונים ומזהה האוסף של הנתונים שרוצים לייבא.
לוחצים על Continue.
בוחרים אזור למאגר הנתונים.
נותנים שם למאגר הנתונים.
לוחצים על יצירה.
כדי לבדוק את סטטוס ההטמעה, נכנסים לדף Data Stores ולוחצים על שם מאגר הנתונים כדי לראות פרטים עליו בדף Data. כשהסטטוס בעמודה בכרטיסייה פעילות משתנה מבתהליך להייבוא הושלם, הטמעת הנתונים הסתיימה.
בהתאם לגודל הנתונים, הטמעת הנתונים יכולה להימשך כמה דקות או כמה שעות.
REST
כדי ליצור מאגר נתונים ולהטמיע נתונים מ-Firestore באמצעות שורת הפקודה:
יוצרים מאגר נתונים.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" \ -d '{ "displayName": "DISPLAY_NAME", "industryVertical": "GENERIC", "solutionTypes": ["SOLUTION_TYPE_SEARCH"], }'מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
DATA_STORE_ID: המזהה של מאגר הנתונים. המזהה יכול להכיל רק אותיות קטנות, ספרות, קווים תחתונים ומקפים. -
DISPLAY_NAME: השם המוצג של מאגר הנתונים. יכול להיות שההודעה הזו תוצג במסוף Google Cloud .
-
ייבוא נתונים מ-Firestore.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents:import" \ -d '{ "firestoreSource": { "projectId": "FIRESTORE_PROJECT_ID", "databaseId": "DATABASE_ID", "collectionId": "COLLECTION_ID", }, "reconciliationMode": "RECONCILIATION_MODE", "autoGenerateIds": "AUTO_GENERATE_IDS", "idField": "ID_FIELD", }'מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט ב-Gemini Enterprise. -
DATA_STORE_ID: המזהה של מאגר הנתונים. המזהה יכול להכיל רק אותיות קטנות, ספרות, קווים תחתונים ומקפים. -
FIRESTORE_PROJECT_ID: המזהה של הפרויקט ב-Firestore. -
DATABASE_ID: המזהה של מסד הנתונים ב-Firestore. -
COLLECTION_ID: המזהה של האוסף ב-Firestore. -
RECONCILIATION_MODE: אופציונלי. הערכים הםFULLו-INCREMENTAL. ברירת המחדל היאINCREMENTAL. אם מציינים אתINCREMENTAL, מתבצע רענון מצטבר של הנתונים מ-Firestore למאגר הנתונים. הפעולה הזו מבצעת עדכון או הוספה (upsert), שמוסיפה מסמכים חדשים ומחליפה מסמכים קיימים במסמכים מעודכנים עם אותו מזהה. אם מציינים את הערךFULL, מתבצע שינוי בסיס מלא של המסמכים במאגר הנתונים. במילים אחרות, מסמכים חדשים ומעודכנים מתווספים למאגר הנתונים, ומסמכים שלא נמצאים ב-Firestore מוסרים ממאגר הנתונים. מצבFULLשימושי אם רוצים למחוק באופן אוטומטי מסמכים שכבר לא צריך. -
AUTO_GENERATE_IDS: אופציונלי. מציינים אם ליצור מזהי מסמכים באופן אוטומטי. אם הערך הואtrue, מזהי המסמכים נוצרים על סמך גיבוב (hash) של המטען הייעודי (payload). חשוב לזכור שמזהי המסמכים שנוצרו לא בהכרח יישארו עקביים בכמה פעולות ייבוא. אם אתם יוצרים מזהים באופן אוטומטי בכמה פעולות ייבוא, Google ממליצה מאוד להגדיר אתreconciliationModeלערךFULLכדי לשמור על מזהי מסמכים עקביים. -
ID_FIELD: אופציונלי. מציינים אילו שדות הם מזהי המסמכים.
-
השלבים הבאים
כדי לצרף את מאגר הנתונים לאפליקציה, יוצרים אפליקציה ובוחרים את מאגר הנתונים לפי השלבים שמפורטים במאמר יצירת אפליקציית חיפוש.
כדי לראות תצוגה מקדימה של תוצאות החיפוש אחרי שמגדירים את האפליקציה ואת מאגר הנתונים, עיינו במאמר תצוגה מקדימה של תוצאות החיפוש.