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 및 관리자 페이지로 이동합니다.
IAM 및 관리자 페이지에서 Firestore 프로젝트로 전환하고 액세스 권한 부여를 클릭합니다.
새 주 구성원에 인스턴스의 서비스 계정 식별자를 입력하고 Datastore > Cloud Datastore 가져오기 내보내기 관리자 역할을 선택합니다.
저장을 클릭합니다.
Gemini Enterprise 프로젝트로 다시 전환합니다.
그런 다음 Firestore에서 데이터 가져오기로 이동합니다.
Firestore에서 데이터 가져오기
콘솔
콘솔을 사용하여 Firestore에서 데이터를 수집하려면 다음 단계를 따르세요.
Google Cloud 콘솔에서 Gemini Enterprise 페이지로 이동합니다.
데이터 스토어 페이지로 이동합니다.
데이터 저장소 만들기를 클릭합니다.
데이터 소스 선택 페이지에서 Firestore를 선택합니다.
가져올 데이터의 프로젝트 ID, 데이터베이스 ID, 컬렉션 ID를 지정합니다.
계속을 클릭합니다.
데이터 스토어의 리전을 선택합니다.
데이터 스토어 이름을 입력합니다.
만들기를 클릭합니다.
수집 상태를 확인하려면 데이터 스토어 페이지로 이동하여 데이터 스토어 이름을 클릭한 후 데이터 페이지에서 세부정보를 확인합니다. 활동 탭의 상태 열이 진행 중에서 가져오기 완료됨으로 변경되면 수집이 완료된 것입니다.
데이터 크기에 따라 수집에 몇 분 또는 몇 시간까지 걸릴 수 있습니다.
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
: 프로젝트의 ID입니다.DATA_STORE_ID
: 데이터 스토어의 ID입니다. 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 프로젝트의 ID입니다.DATA_STORE_ID
: 데이터 스토어의 ID입니다. ID에는 소문자, 숫자, 밑줄, 하이픈만 포함할 수 있습니다.FIRESTORE_PROJECT_ID
: Firestore 프로젝트의 ID입니다.DATABASE_ID
: Firestore 데이터베이스의 ID입니다.COLLECTION_ID
: Firestore 컬렉션의 ID입니다.RECONCILIATION_MODE
: 선택사항입니다. 값은FULL
및INCREMENTAL
입니다. 기본값은INCREMENTAL
입니다.INCREMENTAL
을 지정하면 Firestore의 데이터가 데이터 스토어에 점진적으로 새로고침됩니다. 이 경우 새 문서를 추가하고 기존 문서를 동일한 ID의 업데이트된 문서로 대체하는 삽입/업데이트(upsert) 작업이 실행됩니다.FULL
을 지정하면 데이터 스토어에서 문서의 전체 재배치가 이루어집니다. 즉, 새 문서와 업데이트된 문서는 데이터 스토어에 추가되고 Firestore에 없는 문서는 데이터 스토어에서 삭제됩니다.FULL
모드는 더 이상 필요하지 않은 문서를 자동으로 삭제하려는 경우에 유용합니다.AUTO_GENERATE_IDS
: 선택사항입니다. 문서 ID를 자동으로 생성할지 지정합니다.true
로 설정하면 페이로드의 해시에 따라 문서 ID가 생성됩니다. 생성된 문서 ID는 여러 가져오기에서 일관되지 않을 수 있습니다. 여러 가져오기에서 ID를 자동으로 생성하는 경우 문서 ID의 일관성을 유지하기 위해reconciliationMode
를FULL
로 설정하는 것이 좋습니다.ID_FIELD
: 선택사항입니다. 문서 ID인 필드를 지정합니다.
다음 단계
데이터 스토어를 앱에 연결하려면 앱을 만들고 검색 앱 만들기의 단계를 따라 데이터 스토어를 선택합니다.
앱과 데이터 스토어를 설정한 후 검색 결과가 표시되는 방식을 미리 보려면 검색 결과 미리보기를 참조하세요.