Anda dapat memperbarui data terstruktur dan data tidak terstruktur dengan metadata yang mendukung skema.
Anda dapat memperbarui skema di konsol Google Cloud atau menggunakan metode API
schemas.patch
.
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 utama, seperti
title
, uri
, dan description
.
Memperbarui skema
Anda dapat memperbarui skema di konsol Google Cloud atau menggunakan API.
Konsol
Untuk memperbarui skema di Google Cloud console, 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 difasilitasi dinamis, dapat ditelusuri, atau dapat dilengkapi), tinjau Mengonfigurasi setelan kolom untuk mengetahui batasan dan persyaratan setiap jenis anotasi.
Pastikan Anda telah menyelesaikan penyerapan data. Jika tidak, skema mungkin belum dapat diedit.
Di konsol Google Cloud , 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:
Petakan properti utama: Di kolom Properti utama pada skema Anda, pilih properti utama untuk memetakan kolom. Misalnya, jika kolom bernama
details
selalu berisi deskripsi dokumen, petakan kolom tersebut ke properti kunci Description.Perbarui jumlah dimensi (Lanjutan): Anda dapat memperbarui setelan ini jika menggunakan embedding vektor kustom dengan Gemini Enterprise. Lihat Lanjutan: Menggunakan penyematan kustom.
Memperbarui anotasi kolom: Untuk memperbarui anotasi kolom, pilih atau batalkan pilihan setelan anotasi kolom. Anotasi yang tersedia adalah Dapat Diambil, Dapat Diindeks, Dapat Dikelompokkan Secara Dinamis, Dapat Ditelusuri, dan Dapat Diselesaikan. Beberapa setelan kolom memiliki batasan. Lihat Mengonfigurasi setelan kolom untuk mengetahui deskripsi dan persyaratan untuk setiap jenis anotasi.
Menambahkan kolom baru: Menambahkan kolom baru ke skema sebelum mengimpor dokumen baru dengan kolom tersebut dapat mempersingkat waktu yang dibutuhkan Gemini Enterprise untuk mengindeks ulang data Anda setelah diimpor.
Klik Tambahkan kolom baru untuk meluaskan bagian tersebut.
Klik add_box Tambahkan node dan tentukan setelan untuk kolom baru.
Untuk menunjukkan array, tetapkan Array ke Ya. Misalnya, untuk menambahkan array string, tetapkan type ke
string
dan Array keYes
.
Klik Simpan untuk menerapkan perubahan skema.
Mengubah skema akan memicu pengindeksan ulang. Untuk penyimpanan data yang besar, pengindeksan ulang dapat memakan waktu berjam-jam.
REST
Untuk menggunakan API guna memperbarui skema, ikuti langkah-langkah berikut:
Tinjau bagian Persyaratan dan batasan serta Contoh batasan (khusus REST) untuk memastikan 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 difasilitasi 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 konsol Google Cloud , 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 API schemas.patch 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 dokumentasi referensi Gemini Enterprise C# API.
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 dokumentasi referensi Gemini Enterprise Go API.
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 dokumentasi referensi Gemini Enterprise Java API.
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 dokumentasi referensi Gemini Enterprise Python API.
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 sebelumnya, Anda harus menghapus semua dokumen di penyimpanan data, menghapus skema, dan membuat skema baru.
Memperbarui skema akan memicu pengindeksan ulang semua dokumen. Mengindeks ulang penyimpanan data berukuran 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
integer
tidak dapat diubah menjadistring
. - Menghapus kolom. Setelah ditentukan, kolom tidak dapat dihapus. Anda dapat terus menambahkan kolom baru, tetapi Anda tidak dapat menghapus kolom yang ada.
Contoh batasan (khusus REST)
Bagian ini menunjukkan 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 update yang didukung
Perubahan berikut pada skema contoh didukung.
Menambahkan kolom. Dalam contoh ini, kolom
properties.uri
telah 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 utama untuk
title
,description
atauuri
. Dalam contoh ini,keyPropertyMapping
telah 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 skema contoh tidak didukung.
Mengubah jenis kolom. Dalam contoh ini, jenis kolom
title
telah diubah dari string menjadi angka. Fitur 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
title
telah dihapus. Fitur 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