כדי להטמיע נתונים מ-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 ואדמין ולוחצים על הענקת גישה.
בשדה New principals (חשבונות משתמשים חדשים), מזינים את המזהה של חשבון השירות של המופע ובוחרים בתפקיד Datastore > Cloud Datastore Import Export Admin.
לוחצים על Save.
חוזרים לפרויקט Gemini Enterprise.
אחר כך עוברים אל ייבוא נתונים מ-Firestore.
ייבוא נתונים מ-Firestore
המסוף
כדי להטמיע נתונים מ-Firestore באמצעות המסוף, פועלים לפי השלבים הבאים:
נכנסים לדף Gemini Enterprise במסוף Google Cloud .
עוברים לדף מאגרי נתונים.
לוחצים על יצירת מאגר נתונים.
בדף Select a data source (בחירת מקור נתונים), בוחרים באפשרות Firestore.
מציינים את מזהה הפרויקט, מזהה מסד הנתונים ומזהה האוסף של הנתונים שרוצים לייבא.
לוחצים על Continue.
בוחרים אזור לאחסון הנתונים.
מזינים שם למאגר הנתונים.
לוחצים על יצירה.
כדי לבדוק את סטטוס ההטמעה, עוברים לדף מאגרי נתונים ולוחצים על השם של מאגר הנתונים כדי לראות את הפרטים שלו בדף נתונים. ההטמעה מסתיימת כשהסטטוס בעמודה סטטוס בכרטיסייה פעילות משתנה מבתהליך להייבוא הושלם.
בהתאם לגודל הנתונים, תהליך ההטמעה יכול להימשך כמה דקות או כמה שעות.
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, מזהי המסמכים נוצרים על סמך גיבוב של מטען הייעודי. חשוב לדעת שמזהי מסמכים שנוצרו יכולים להשתנות בין ייבוא לייבוא. אם אתם יוצרים מזהים באופן אוטומטי בכמה ייבואים, מומלץ מאוד להגדיר אתreconciliationModeל-FULLכדי לשמור על מזהי מסמכים עקביים. -
ID_FIELD: אופציונלי. מציינים אילו שדות הם מזהי המסמכים.
-
השלבים הבאים
כדי לצרף את מאגר הנתונים לאפליקציה, יוצרים אפליקציה ובוחרים את מאגר הנתונים לפי השלבים שמפורטים במאמר יצירת אפליקציה לחיפוש.
כדי לראות תצוגה מקדימה של תוצאות החיפוש אחרי שמגדירים את האפליקציה ואת מאגר הנתונים, אפשר לעיין במאמר בנושא תצוגה מקדימה של תוצאות החיפוש.