Para ingerir dados do Firestore, siga estas etapas para criar um repositório de dados e ingerir dados usando o console Google Cloud ou a API.
Se os dados do Firestore estiverem no mesmo projeto do Gemini Enterprise, acesse Importar dados do Firestore.
Se os dados do Firestore estiverem em um projeto diferente do seu projeto do Gemini Enterprise, acesse Configurar o acesso ao Firestore.
Configurar o acesso ao Firestore de um projeto diferente
Para dar ao Gemini Enterprise acesso a dados do Firestore que estão em um projeto diferente, siga estas etapas:
Substitua a variável
PROJECT_NUMBER
pelo número do projeto do Gemini Enterprise e copie o conteúdo do bloco de código. Este é o identificador da sua conta de serviço do Gemini Enterprise:service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com
Acesse a página IAM e administrador.
Mude para seu projeto do Firestore na página IAM e administrador e clique em Conceder acesso.
Em Novos principais, insira o identificador da conta de serviço da instância e selecione o papel Datastore > Administrador de importação e exportação do Cloud Datastore.
Clique em Salvar.
Volte para o projeto do Gemini Enterprise.
Em seguida, acesse Importar dados do Firestore.
Importar dados do Firestore
Console
Para usar o console e ingerir dados do Firestore, siga estas etapas:
No console Google Cloud , acesse a página Gemini Enterprise.
Acesse a página Repositório de dados.
Clique em Criar armazenamento de dados.
Na página Selecionar uma fonte de dados, escolha Firestore.
Especifique o ID do projeto, do banco de dados e da coleção dos dados que você planeja importar.
Clique em Continuar.
Escolha uma região para o repositório de dados.
Insira um nome para o repositório de dados.
Clique em Criar.
Para verificar o status da ingestão, acesse a página Repositórios de dados e clique no nome do repositório de dados para conferir os detalhes na página Dados. Quando a coluna de status na guia Atividade mudar de Em andamento para Importação concluída, a ingestão será concluída.
Dependendo do tamanho dos dados, a ingestão pode levar de vários minutos a várias horas.
REST
Para usar a linha de comando e criar um repositório de dados e ingerir dados do Firestore, siga estas etapas:
Crie um repositório de dados.
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"], }'
Substitua:
PROJECT_ID
: ID do projeto.DATA_STORE_ID
: o ID do repositório de dados. O ID pode conter apenas letras minúsculas, dígitos, sublinhados e hífens.DISPLAY_NAME
: o nome de exibição do repositório de dados. Isso pode ser exibido no console do Google Cloud .
Importar dados do 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", }'
Substitua:
PROJECT_ID
: o ID do seu projeto do Gemini Enterprise.DATA_STORE_ID
: o ID do repositório de dados. O ID só pode conter letras minúsculas, dígitos, sublinhados e hífens.FIRESTORE_PROJECT_ID
: o ID do seu projeto do Firestore.DATABASE_ID
: o ID do banco de dados do Firestore.COLLECTION_ID
: o ID da sua coleção do Firestore.RECONCILIATION_MODE
: opcional. Os valores sãoFULL
eINCREMENTAL
. O padrão éINCREMENTAL
. EspecificarINCREMENTAL
causa uma atualização incremental de dados do Firestore para seu repositório de dados. Isso faz uma operação de upsert, que adiciona novos documentos e substitui os documentos existentes por documentos atualizados com o mesmo ID. EspecificarFULL
causa uma rebase completa dos documentos no repositório de dados. Em outras palavras, documentos novos e atualizados são adicionados ao seu repositório de dados, e os documentos que não estão no Firestore são removidos dele. O modoFULL
é útil se você quiser excluir automaticamente documentos que não precisa mais.AUTO_GENERATE_IDS
: opcional. Especifica se os IDs de documento serão gerados automaticamente. Se definido comotrue
, os IDs de documento serão gerados com base em um hash do payload. Os IDs de documentos gerados podem não permanecer consistentes em várias importações. Se você gerar IDs automaticamente em várias importações, o Google recomenda definirreconciliationMode
comoFULL
para manter IDs de documento consistentes.ID_FIELD
: opcional. Especifica quais campos são os IDs de documento.
Próximas etapas
Para anexar seu repositório de dados a um app, crie um app e selecione o repositório seguindo as etapas em Criar um app de pesquisa.
Para ver como os resultados da pesquisa aparecem depois que o app e o repositório de dados são configurados, consulte Visualizar resultados da pesquisa.