Anda dapat memperbarui skema data terstruktur dan data tidak terstruktur dengan metadata yang mendukung skema.
Anda dapat memperbarui skema di Google Cloud konsol atau menggunakan metode
schemas.patch API.
Untuk memperbarui skema, Anda dapat menambahkan kolom baru, mengubah anotasi yang dapat diindeks, dapat ditelusuri, dan dapat diambil untuk kolom, atau menandai kolom sebagai properti kunci, seperti title, uri, dan description.
Memperbarui skema
Anda dapat memperbarui skema di Google Cloud konsol atau menggunakan API.
Konsol
Untuk memperbarui skema di Google Cloud konsol, ikuti langkah-langkah berikut:
Tinjau bagian Persyaratan dan batasan untuk memeriksa apakah pembaruan skema Anda valid.
Jika Anda memperbarui anotasi kolom (menetapkan kolom sebagai dapat diindeks, dapat diambil, dapat difaset dinamis, dapat ditelusuri, atau dapat diselesaikan), tinjau Mengonfigurasi setelan kolom untuk mengetahui batasan dan persyaratan setiap jenis anotasi.
Pastikan Anda telah menyelesaikan penyerapan data. Jika tidak, skema mungkin belum tersedia untuk diedit.
Di Google Cloud konsol, buka halaman Gemini Enterprise.
Di menu navigasi, klik Data Stores.
Di kolom Name, klik penyimpanan data dengan skema yang ingin Anda perbarui.
Klik tab Schema untuk melihat skema data Anda.
Tab ini mungkin kosong jika ini adalah pertama kalinya Anda mengedit kolom.
Klik tombol Edit.
Perbarui skema Anda:
Memetakan properti kunci: Di kolom Key properties skema Anda, pilih properti kunci untuk memetakan kolom. Misalnya, jika kolom bernama
detailsselalu berisi deskripsi dokumen, petakan kolom tersebut ke properti kunci Description.Memperbarui jumlah dimensi (Lanjutan): Anda dapat memperbarui setelan ini jika menggunakan embedding vektor kustom dengan Gemini Enterprise. Lihat Menggunakan embedding kustom dalam dokumentasi Penelusuran Agen.
Memperbarui anotasi kolom: Untuk memperbarui anotasi kolom, pilih atau batalkan pilihan setelan anotasi kolom. Anotasi yang tersedia adalah Retrievable, Indexable, Dynamic Facetable, Searchable, dan Completable. Beberapa setelan kolom memiliki batasan. Lihat Mengonfigurasi setelan kolom untuk mengetahui deskripsi dan persyaratan setiap jenis anotasi.
Menambahkan kolom baru: Menambahkan kolom baru ke skema sebelum mengimpor dokumen baru dengan kolom tersebut dapat mempersingkat waktu yang diperlukan Gemini Enterprise untuk mengindeks ulang data Anda setelah impor.
Klik Add new fields untuk meluaskan bagian tersebut.
Klik add_box Add node dan tentukan setelan untuk kolom baru.
Untuk menunjukkan array, tetapkan Array ke Yes. Misalnya, untuk menambahkan array string, tetapkan type ke
stringdan Array keYes.
Klik Save untuk menerapkan perubahan skema.
Mengubah skema akan memicu pengindeksan ulang. Untuk penyimpanan data besar, pengindeksan ulang dapat memerlukan waktu berjam-jam.
REST
Untuk menggunakan API guna memperbarui skema, ikuti langkah-langkah berikut:
Tinjau bagian Persyaratan dan batasan dan bagian Contoh batasan (khusus REST) untuk memeriksa apakah perubahan skema Anda valid.
Untuk memperbarui skema penyimpanan data dengan data tidak terstruktur dengan metadata, lanjutkan ke Langkah 5 untuk memanggil metode
schema.patch.Jika Anda memperbarui anotasi kolom (menetapkan kolom sebagai dapat diindeks, dapat diambil, dapat difaset dinamis, atau dapat ditelusuri), tinjau Mengonfigurasi setelan kolom untuk mengetahui batasan dan persyaratan setiap jenis anotasi.
Jika Anda mengedit skema yang terdeteksi otomatis, pastikan Anda telah menyelesaikan penyerapan data. Jika tidak, skema mungkin belum tersedia untuk diedit.
Temukan ID penyimpanan data Anda. Jika Anda sudah memiliki ID penyimpanan data, lanjutkan ke langkah berikutnya.
Di Google Cloud konsol, buka halaman Gemini Enterprise dan di menu navigasi, klik Data Stores.
Klik nama penyimpanan data Anda.
Di halaman Data untuk penyimpanan data Anda, dapatkan ID penyimpanan data.
Gunakan metode schemas.patch API untuk memberikan skema JSON baru Anda sebagai objek JSON.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/schemas/default_schema" \ -d '{ "structSchema": JSON_SCHEMA_OBJECT }'Ganti kode berikut:
PROJECT_ID: ID project Anda.DATA_STORE_ID: ID penyimpanan data.JSON_SCHEMA_OBJECT: skema JSON baru Anda sebagai objek JSON. Contoh:{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "title": { "type": "string", "keyPropertyMapping": "title" }, "categories": { "type": "array", "items": { "type": "string", "keyPropertyMapping": "category" } }, "uri": { "type": "string", "keyPropertyMapping": "uri" } } }
Opsional: Tinjau skema dengan mengikuti prosedur Melihat definisi skema.
C#
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C# di Panduan memulai Gemini Enterprise menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Gemini Enterprise C# API dokumentasi referensi.
Untuk melakukan autentikasi ke Gemini Enterprise, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di Panduan memulai Gemini Enterprise menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Gemini Enterprise Go API dokumentasi referensi.
Untuk melakukan autentikasi ke Gemini Enterprise, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai Gemini Enterprise menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Gemini Enterprise Java API dokumentasi referensi.
Untuk melakukan autentikasi ke Gemini Enterprise, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai Gemini Enterprise menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Gemini Enterprise Python API dokumentasi referensi.
Untuk melakukan autentikasi ke Gemini Enterprise, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Ruby
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Ruby di Panduan memulai Gemini Enterprise menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Gemini Enterprise Ruby API.
Untuk melakukan autentikasi ke Gemini Enterprise, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Persyaratan dan batasan
Saat memperbarui skema, pastikan skema baru kompatibel dengan versi lama skema yang Anda perbarui. Untuk memperbarui skema dengan skema baru yang tidak kompatibel dengan versi lama, Anda harus menghapus semua dokumen di penyimpanan data, menghapus skema, dan membuat skema baru.
Memperbarui skema akan memicu pengindeksan ulang semua dokumen. Pengindeksan ulang penyimpanan data besar dapat memerlukan waktu berjam-jam atau berhari-hari.
Pembaruan skema tidak mendukung hal berikut:
- Mengubah jenis kolom. Pembaruan skema tidak mendukung perubahan jenis kolom. Misalnya, kolom yang dipetakan ke
integertidak dapat diubah menjadistring. - Menghapus kolom. Setelah ditentukan, kolom tidak dapat dihapus. Anda dapat terus menambahkan kolom baru, tetapi tidak dapat menghapus kolom yang ada.
Contoh batasan (khusus REST)
Bagian ini menampilkan contoh jenis pembaruan skema yang valid dan tidak valid. Contoh ini menggunakan contoh skema JSON berikut:
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"title": {
"type": "string"
},
"description": {
"type": "string",
"keyPropertyMapping": "description"
},
"categories": {
"type": "array",
"items": {
"type": "string",
"keyPropertyMapping": "category"
}
}
}
}
Contoh pembaruan yang didukung
Pembaruan berikut pada contoh skema didukung.
Menambahkan kolom. Dalam contoh ini, kolom
properties.uritelah ditambahkan ke skema.{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "title": { "type": "string" }, "description": { "type": "string", "keyPropertyMapping": "description" }, "uri": { // Added field. This is supported. "type": "string", "keyPropertyMapping": "uri" }, "categories": { "type": "array", "items": { "type": "string", "keyPropertyMapping": "category" } } } }Menambahkan atau menghapus anotasi properti kunci untuk
title,descriptionatauuri. Dalam contoh ini,keyPropertyMappingtelah ditambahkan ke kolomtitle.{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "title": { "type": "string", "keyPropertyMapping": "title" // Added "keyPropertyMapping". This is supported. }, "description": { "type": "string", "keyPropertyMapping": "description" }, "categories": { "type": "array", "items": { "type": "string", "keyPropertyMapping": "category" } } } }
Contoh pembaruan skema yang tidak valid
Pembaruan berikut pada contoh skema tidak didukung.
Mengubah jenis kolom. Dalam contoh ini, jenis kolom
titletelah diubah dari string menjadi angka. Hal ini tidak didukung.{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "title": { "type": "number" // Changed from string. Not allowed. }, "description": { "type": "string", "keyPropertyMapping": "description" }, "categories": { "type": "array", "items": { "type": "string", "keyPropertyMapping": "category" } } } }Menghapus kolom. Dalam contoh ini, kolom
titletelah dihapus. Hal ini tidak didukung.{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { // "title" is removed. Not allowed. "description": { "type": "string", "keyPropertyMapping": "description" }, "uri": { "type": "string", "keyPropertyMapping": "uri" }, "categories": { "type": "array", "items": { "type": "string", "keyPropertyMapping": "category" } } } }
Langkah berikutnya
- Melihat definisi skema untuk data terstruktur
- Menghapus skema untuk data terstruktur
- Melihat pratinjau hasil penelusuran