Untuk menyerap data dari Bigtable, gunakan langkah-langkah berikut untuk membuat penyimpanan data dan menyerap data menggunakan API.
Menyiapkan akses Bigtable
Untuk memberi Gemini Enterprise akses ke data Bigtable yang ada di project lain, ikuti langkah-langkah berikut:
Ganti variabel
PROJECT_NUMBER
berikut dengan nomor project Gemini Enterprise Anda, lalu salin konten blok kode ini. Berikut ID akun layanan Gemini Enterprise Anda:service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com`
Buka halaman IAM & Admin.
Beralih ke project Bigtable Anda di halaman IAM & Admin lalu klik Grant Access.
Untuk New principals, masukkan ID akun layanan instance dan pilih peran Bigtable > Bigtable Reader.
Klik Simpan.
Beralih kembali ke project Gemini Enterprise Anda.
Selanjutnya, buka Mengimpor data dari Bigtable.
Mengimpor data dari Bigtable
REST
Untuk menggunakan command line guna membuat penyimpanan data dan menyerap data dari Bigtable, ikuti langkah-langkah berikut:
Buat penyimpanan data.
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"], }'
Ganti kode berikut:
PROJECT_ID
: ID project Anda.DATA_STORE_ID
: ID penyimpanan data. ID hanya boleh berisi huruf kecil, angka, garis bawah, dan tanda hubung.DISPLAY_NAME
: nama tampilan penyimpanan data. Hal ini mungkin ditampilkan di konsol Google Cloud .
Impor data dari Bigtable.
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 '{ "bigtableSource ": { "projectId": "BIGTABLE_PROJECT_ID", "instanceId": "INSTANCE_ID", "tableId": "TABLE_ID", "bigtableOptions": { "keyFieldName": "KEY_FIELD_NAME", "families": { "key": "KEY", "value": { "fieldName": "FIELD_NAME", "encoding": "ENCODING", "type": "TYPE", "columns": [ { "qualifier": "QUALIFIER", "fieldName": "FIELD_NAME", "encoding": "COLUMN_ENCODING", "type": "COLUMN_VALUES_TYPE" } ] } } ... } }, "reconciliationMode": "RECONCILIATION_MODE", "autoGenerateIds": "AUTO_GENERATE_IDS", "idField": "ID_FIELD", }'
Ganti kode berikut:
PROJECT_ID
: ID project Gemini Enterprise Anda.DATA_STORE_ID
: ID penyimpanan data. ID hanya boleh berisi huruf kecil, angka, garis bawah, dan tanda hubung.BIGTABLE_PROJECT_ID
: ID project Bigtable Anda.INSTANCE_ID
: ID instance Bigtable Anda.TABLE_ID
: ID tabel Bigtable Anda.KEY_FIELD_NAME
: opsional, tetapi direkomendasikan. Nama kolom yang akan digunakan untuk nilai kunci baris setelah penyerapan ke Gemini Enterprise.KEY
: wajib diisi. Nilai string untuk kunci grup kolom.ENCODING
: optional. Mode encoding nilai saat jenisnya bukan STRING.Mode ini dapat diganti untuk kolom tertentu dengan mencantumkan kolom tersebut dicolumns
dan menentukan encoding untuknya.COLUMN_TYPE
: optional. Jenis nilai dalam grup kolom ini.QUALIFIER
: wajib diisi. Penentu kolom.FIELD_NAME
: opsional, tetapi direkomendasikan. Nama kolom yang akan digunakan untuk kolom ini setelah melakukan penyerapan ke Gemini Enterprise.COLUMN_ENCODING
: optional. Mode encoding nilai untuk kolom tertentu saat jenisnya bukan STRING.RECONCILIATION_MODE
: optional. Nilainya adalahFULL
danINCREMENTAL
. Default-nya adalahINCREMENTAL
. MenentukanINCREMENTAL
akan menyebabkan refresh inkremental data dari Bigtable ke penyimpanan data Anda. Operasi ini melakukan operasi upsert, yang menambahkan dokumen baru dan menggantikan dokumen yang ada dengan dokumen yang diperbarui dengan ID yang sama. MenentukanFULL
akan menyebabkan rebase penuh dokumen di penyimpanan data Anda. Dengan kata lain, dokumen baru dan yang diperbarui ditambahkan ke penyimpanan data Anda, dan dokumen yang tidak ada di Bigtable dihapus dari penyimpanan data Anda. ModeFULL
berguna jika Anda ingin menghapus dokumen yang tidak lagi diperlukan secara otomatis.AUTO_GENERATE_IDS
: optional. Menentukan apakah ID dokumen akan dibuat secara otomatis. Jika disetel ketrue
, ID dokumen dibuat berdasarkan hash payload. Perhatikan bahwa ID dokumen yang dibuat mungkin tidak tetap konsisten selama beberapa kali impor. Jika Anda membuat ID secara otomatis di beberapa impor, Google sangat merekomendasikan agar Anda menyetelreconciliationMode
keFULL
untuk mempertahankan ID dokumen yang konsisten.Tentukan
autoGenerateIds
hanya jikabigquerySource.dataSchema
ditetapkan kecustom
. Jika tidak, errorINVALID_ARGUMENT
akan ditampilkan. Jika Anda tidak menentukanautoGenerateIds
atau menyetelnya kefalse
, Anda harus menentukanidField
. Jika tidak, dokumen akan gagal diimpor.ID_FIELD
: optional. Menentukan kolom mana yang merupakan ID dokumen.
Langkah berikutnya
Untuk melampirkan penyimpanan data ke aplikasi, buat aplikasi dan pilih penyimpanan data Anda dengan mengikuti langkah-langkah di Membuat aplikasi penelusuran.
Untuk melihat pratinjau tampilan hasil penelusuran setelah aplikasi dan penyimpanan data Anda disiapkan, lihat Melihat pratinjau hasil penelusuran.