Para ingerir datos de Firestore, sigue estos pasos para crear un almacén de datos e ingerir datos con la Google Cloud consola o la API.
Si tus datos de Firestore están en el mismo proyecto que Gemini Enterprise, ve a Importar datos de Firestore.
Si tus datos de Firestore están en un proyecto distinto al de Gemini Enterprise, consulta el artículo sobre cómo configurar el acceso a Firestore.
Configurar el acceso a Firestore desde otro proyecto
Para dar acceso a Gemini Enterprise a los datos de Firestore que se encuentran en otro proyecto, sigue estos pasos:
Sustituye la siguiente variable
PROJECT_NUMBER
por el número de tu proyecto de Gemini Enterprise y, a continuación, copia el contenido de este bloque de código. Este es el identificador de tu cuenta de servicio de Gemini Enterprise:service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com
Ve a la página IAM y administración.
Cambia al proyecto de Firestore en la página IAM y administración y haz clic en Conceder acceso.
En Nuevos principales, introduce el identificador de la cuenta de servicio de la instancia y selecciona el rol Datastore > Cloud Datastore Import Export Admin (Datastore > Administrador de importación y exportación de Cloud Datastore).
Haz clic en Guardar.
Vuelve a tu proyecto de Gemini Enterprise.
A continuación, ve a Importar datos de Firestore.
Importar datos de Firestore
Consola
Para usar la consola y extraer datos de Firestore, sigue estos pasos:
En la Google Cloud consola, ve a la página Gemini Enterprise.
Vaya a la página Almacenes de datos.
Haz clic en Crear almacén de datos.
En la página Seleccionar una fuente de datos, elija Firestore.
Especifica el ID del proyecto, el ID de la base de datos y el ID de la colección de los datos que quieras importar.
Haz clic en Continuar.
Elige una región para tu almacén de datos.
Escribe el nombre del almacén de datos.
Haz clic en Crear.
Para comprobar el estado de la ingestión, vaya a la página Almacenes de datos y haga clic en el nombre del almacén de datos para ver los detalles en la página Datos. Cuando el estado de la columna de la pestaña Actividad cambie de En curso a Importación completada, la ingesta habrá finalizado.
En función del tamaño de los datos, la ingestión puede tardar varios minutos o varias horas.
REST
Para usar la línea de comandos para crear un almacén de datos e ingerir datos de Firestore, sigue estos pasos:
Crea un almacén de datos.
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"], }'
Haz los cambios siguientes:
PROJECT_ID
: el ID de tu proyecto.DATA_STORE_ID
: el ID del almacén de datos. El ID solo puede contener letras minúsculas, dígitos, guiones bajos y guiones.DISPLAY_NAME
: el nombre visible del almacén de datos. Puede que se muestre en la consola Google Cloud .
Importar datos de 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", }'
Haz los cambios siguientes:
PROJECT_ID
: el ID de tu proyecto de Gemini Enterprise.DATA_STORE_ID
: el ID del almacén de datos. El ID solo puede contener letras minúsculas, dígitos, guiones bajos y guiones.FIRESTORE_PROJECT_ID
: el ID de tu proyecto de Firestore.DATABASE_ID
: el ID de tu base de datos de Firestore.COLLECTION_ID
: el ID de tu colección de Firestore.RECONCILIATION_MODE
: opcional. Los valores sonFULL
yINCREMENTAL
. El valor predeterminado esINCREMENTAL
. Si especificasINCREMENTAL
, se realizará una actualización incremental de los datos de Firestore a tu almacén de datos. De esta forma, se realiza una operación upsert, que añade documentos nuevos y sustituye los documentos que ya existen por documentos actualizados con el mismo ID. Si especificasFULL
, se volverán a basar todos los documentos de tu almacén de datos. Es decir, los documentos nuevos y actualizados se añaden a tu almacén de datos, y los documentos que no están en Firestore se eliminan de él. El modoFULL
es útil si quieres eliminar automáticamente los documentos que ya no necesitas.AUTO_GENERATE_IDS
: opcional. Especifica si se deben generar automáticamente los IDs de los documentos. Si se define comotrue
, los IDs de documento se generan a partir de un hash de la carga útil. Ten en cuenta que es posible que los IDs de documento generados no sean coherentes en varias importaciones. Si generas automáticamente IDs en varias importaciones, Google te recomienda que definasreconciliationMode
comoFULL
para mantener IDs de documento coherentes.ID_FIELD
: opcional. Especifica qué campos son los IDs de documento.
Pasos siguientes
Para adjuntar tu almacén de datos a una aplicación, crea una aplicación y selecciona tu almacén de datos siguiendo los pasos que se indican en Crear una aplicación de búsqueda.
Para ver una vista previa de cómo se muestran los resultados de búsqueda después de configurar tu aplicación y tu almacén de datos, consulta Vista previa de los resultados de búsqueda.