Anda dapat memperbarui skema untuk data apa pun yang berisi data yang mendukung skema, seperti data terstruktur, data situs dengan data terstruktur, atau data tidak terstruktur lainnya dengan metadata.
Anda dapat memperbarui skema di Google Cloud konsol atau
menggunakan
schemas.patch metode API.
Memperbarui skema untuk situs hanya didukung melalui REST 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.
Sebelum memulai
Sebelum memperbarui skema, pahami konsep utama yang dijelaskan di bagian ini.
Pentingnya properti kunci
Berikut beberapa alasan mengapa Anda perlu memetakan kolom skema ke properti kunci:
Google sangat merekomendasikan agar Anda memperbarui skema dengan pemetaan properti kunci, terutama untuk
title. Hal ini memastikan hasil Anda ditampilkan dengan benar dan membantu Penelusuran Agen mengidentifikasi informasi penting yang memungkinkannya menghasilkan hasil yang lebih baik.Di penyimpanan data terstruktur, untuk mendapatkan sinyal
keywordSimilarityScoredalam respons penelusuran, Anda harus memperbarui skema untuk melakukan hal berikut:- Memetakan kolom teks yang penting untuk pencocokan kata kunci ke properti kunci
titledandescription - Memperbarui anotasi untuk kolom teks sebagai
Searchable
- Memetakan kolom teks yang penting untuk pencocokan kata kunci ke properti kunci
Persyaratan
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. Hal ini dapat memerlukan waktu dan menimbulkan biaya tambahan:
Waktu. Pengindeksan ulang penyimpanan data besar dapat memerlukan waktu berjam-jam atau berhari-hari.
Biaya. Pengindeksan ulang dapat menimbulkan biaya, bergantung pada parser. Misalnya, pengindeksan ulang penyimpanan data yang menggunakan parser OCR atau parser tata letak akan dikenai biaya. Untuk mengetahui informasi selengkapnya, lihat Harga fitur Document AI.
Dampak layanan. Pengindeksan ulang dapat menyebabkan layanan menjadi lambat atau tidak tersedia, terutama untuk penyimpanan data besar. Google merekomendasikan agar Anda merencanakan pembaruan skema dengan tepat—dengan mempertimbangkan potensi waktu nonaktif untuk aplikasi penting.
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.
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 memastikan pembaruan skema Anda valid.
Jika Anda memperbarui anotasi kolom (menetapkan kolom sebagai dapat diindeks, dapat diambil, dapat difaset 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 tersedia untuk diedit.
Di Google Cloud konsol, buka halaman AI Applications.
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 Penelusuran Agen. Lihat Lanjutan: Menggunakan embedding kustom.
Memperbarui anotasi kolom: Untuk memperbarui anotasi untuk 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 Penelusuran Agen 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.Untuk indeks penyimpanan data situs, semua kolom yang Anda tambahkan adalah array secara default.
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 serta Contoh batasan (khusus REST) untuk memastikan perubahan skema Anda valid.
Untuk memperbarui skema penyimpanan data dengan situs atau data tidak terstruktur dengan metadata, lewati 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 AI Applications , lalu 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 proyek Anda Google Cloud .DATA_STORE_ID: ID penyimpanan data Agent Search.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#
Untuk mengetahui informasi selengkapnya, lihat Agent Search C# API dokumentasi referensi.
Untuk melakukan autentikasi ke Agent Search, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Agent Search Go API.
Untuk melakukan autentikasi ke Agent Search, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mengetahui informasi selengkapnya, lihat Agent Search Java API dokumentasi referensi.
Untuk melakukan autentikasi ke Agent Search, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mengetahui informasi selengkapnya, lihat Agent Search Python API dokumentasi referensi.
Untuk melakukan autentikasi ke Agent Search, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Ruby
Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Agent Search Ruby API.
Untuk melakukan autentikasi ke Agent Search, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
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