Pour ingérer des données depuis Firestore, suivez la procédure ci-dessous pour créer un data store et ingérer des données à l'aide de la console Google Cloud ou de l'API.
Si vos données Firestore se trouvent dans le même projet que Gemini Enterprise, accédez à Importer des données depuis Firestore.
Si vos données Firestore se trouvent dans un projet différent de votre projet Gemini Enterprise, consultez Configurer l'accès à Firestore.
Configurer l'accès à Firestore depuis un autre projet
Pour autoriser Gemini Enterprise à accéder aux données Firestore d'un autre projet, procédez comme suit :
Remplacez la variable
PROJECT_NUMBERsuivante par le numéro de votre projet Gemini Enterprise, puis copiez le contenu de ce bloc de code. Voici l'identifiant de votre compte de service Gemini Enterprise :service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.comAccédez à la page IAM et administration.
Accédez à votre projet Firestore sur la page IAM et administration, puis cliquez sur Accorder l'accès.
Dans le champ Nouveaux comptes principaux, saisissez l'identifiant du compte de service de l'instance, puis sélectionnez le rôle Datastore > Administrateur d'importation/exportation Cloud Datastore.
Cliquez sur Enregistrer.
Revenez à votre projet Gemini Enterprise.
Ensuite, accédez à Importer des données depuis Firestore.
Importer des données depuis Firestore
Console
Pour ingérer des données depuis Firestore à l'aide de la console, procédez comme suit :
Dans la console Google Cloud , accédez à la page Gemini Enterprise.
Accédez à la page Datastores.
Cliquez sur Créer un datastore.
Sur la page Sélectionner une source de données, sélectionnez Firestore.
Spécifiez l'ID du projet, l'ID de la base de données et l'ID de la collection des données que vous prévoyez d'importer.
Cliquez sur Continuer.
Choisissez une région pour votre datastore.
Attribuez un nom à votre datastore
Cliquez sur Créer.
Pour vérifier l'état de l'ingestion, accédez à la page Datastores, puis cliquez sur le nom de votre datastore pour afficher des informations détaillées sur la page Données. Lorsque la colonne "État" de l'onglet Activité passe de En cours à Importation terminée, l'ingestion est terminée.
Selon la taille de vos données, l'ingestion peut prendre de quelques minutes à plusieurs heures.
REST
Pour créer un data store et ingérer des données depuis Firestore à l'aide de la ligne de commande, procédez comme suit :
Créer un datastore
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"], }'Remplacez les éléments suivants :
PROJECT_ID: par l'ID du projet.DATA_STORE_ID: ID du data store. L'ID ne peut contenir que des lettres minuscules, des chiffres, des traits de soulignement et des traits d'union.DISPLAY_NAME: nom à afficher pour le data store. Cela peut s'afficher dans la console Google Cloud .
Importez des données depuis 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", }'Remplacez les éléments suivants :
PROJECT_ID: ID de votre projet Gemini Enterprise.DATA_STORE_ID: ID du data store. L'ID ne peut contenir que des lettres minuscules, des chiffres, des traits de soulignement et des traits d'union.FIRESTORE_PROJECT_ID: ID de votre projet Firestore.DATABASE_ID: ID de votre base de données Firestore.COLLECTION_ID: ID de votre collection Firestore.RECONCILIATION_MODE(facultatif) : Les valeurs sontFULLetINCREMENTAL. La valeur par défaut estINCREMENTAL. La spécification deINCREMENTALentraîne une actualisation incrémentielle des données de Firestore vers votre data store. Cette opération effectue un upsert, qui ajoute de nouveaux documents et remplace les documents existants par des documents mis à jour portant le même ID. Si vous spécifiezFULL, tous les documents de votre data store sont rebasés. En d'autres termes, les documents nouveaux et mis à jour sont ajoutés à votre data store, et les documents qui ne figurent pas dans Firestore sont supprimés de votre data store. Le modeFULLest utile si vous souhaitez supprimer automatiquement les documents dont vous n'avez plus besoin.AUTO_GENERATE_IDS(facultatif) : Spécifie si les ID de document doivent être générés automatiquement. Si la valeur est définie surtrue, les ID de document sont générés en fonction d'un hachage de la charge utile. Notez que les ID de document générés peuvent ne pas rester cohérents sur plusieurs importations. Si vous générez automatiquement des ID sur plusieurs importations, Google vous recommande vivement de définirreconciliationModesurFULLpour conserver des ID de document cohérents.ID_FIELD(facultatif) : Spécifie les champs qui correspondent aux ID de document.
Étapes suivantes
Pour associer votre data store à une application, créez une application et sélectionnez votre data store en suivant les étapes décrites dans Créer une application de recherche.
Pour prévisualiser l'apparence de vos résultats de recherche une fois votre application et votre datastore configurés, consultez Prévisualiser les résultats de recherche.