REST Resource: projects.locations.collections.dataStores.schemas

Resource: Schema

Menentukan struktur dan tata letak jenis data dokumen.

Representasi JSON
{
  "name": string,
  "fieldConfigs": [
    {
      object (FieldConfig)
    }
  ],

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "structSchema": {
    object
  },
  "jsonSchema": string
  // End of mutually exclusive fields.
}
Kolom
name

string

Tidak dapat diubah. Nama lengkap resource skema, dalam format projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}/schemas/{schema}.

Kolom ini harus berupa string berenkode UTF-8 dengan batas panjang 1.024 karakter.

fieldConfigs[]

object (FieldConfig)

Hanya output. Konfigurasi untuk kolom skema.

Representasi skema. Salah satu dari struct_schema atau json_schema harus diberikan. Jika tidak, error INVALID_ARGUMENT akan ditampilkan. Berikut adalah daftar kolom yang bersifat eksklusif satu sama lain. Maksimal satu kolom akan ditetapkan dalam respons:
structSchema

object (Struct format)

Representasi terstruktur dari skema.

jsonSchema

string

Representasi JSON skema.

Akhir kolom yang saling eksklusif.

FieldConfig

Konfigurasi untuk kolom skema. Misalnya, mengonfigurasi kolom agar dapat diindeks atau ditelusuri.

Representasi JSON
{
  "fieldPath": string,
  "fieldType": enum (FieldType),
  "indexableOption": enum (IndexableOption),
  "dynamicFacetableOption": enum (DynamicFacetableOption),
  "searchableOption": enum (SearchableOption),
  "retrievableOption": enum (RetrievableOption),
  "completableOption": enum (CompletableOption),
  "recsFilterableOption": enum (FilterableOption),
  "keyPropertyType": string,
  "advancedSiteSearchDataSources": [
    enum (AdvancedSiteSearchDataSource)
  ],
  "schemaOrgPaths": [
    string
  ],
  "metatagName": string,
  "searchableFieldImportance": enum (SearchableFieldImportance)
}
Kolom
fieldPath

string

Wajib. Jalur kolom dari kolom skema. Misalnya: title, description, release_info.release_year.

fieldType

enum (FieldType)

Hanya output. Jenis mentah kolom.

indexableOption

enum (IndexableOption)

Jika indexableOption adalah INDEXABLE_ENABLED, nilai kolom diindeks sehingga dapat difilter atau dikelompokkan dalam SearchService.Search.

Jika indexableOption tidak disetel, perilaku server akan ditetapkan secara default ke INDEXABLE_DISABLED untuk kolom yang mendukung setelan opsi yang dapat diindeks. Untuk kolom yang tidak mendukung pengaturan opsi yang dapat diindeks, seperti object dan boolean serta properti kunci, server akan melewati pengaturan indexableOption, dan pengaturan indexableOption untuk kolom tersebut akan menghasilkan kesalahan INVALID_ARGUMENT.

dynamicFacetableOption

enum (DynamicFacetableOption)

Jika dynamicFacetableOption adalah DYNAMIC_FACETABLE_ENABLED, nilai kolom tersedia untuk aspek dinamis. Hanya bisa bernilai DYNAMIC_FACETABLE_DISABLED jika FieldConfig.indexable_option adalah INDEXABLE_DISABLED. Jika tidak, error INVALID_ARGUMENT akan ditampilkan.

Jika dynamicFacetableOption tidak disetel, perilaku server secara default adalah DYNAMIC_FACETABLE_DISABLED untuk kolom yang mendukung penetapan opsi berfacet dinamis. Untuk kolom yang tidak mendukung pengaturan opsi facetable dinamis, seperti object dan boolean, server akan melewati pengaturan opsi facetable dinamis, dan pengaturan dynamicFacetableOption untuk kolom tersebut akan menghasilkan kesalahan INVALID_ARGUMENT.

searchableOption

enum (SearchableOption)

Jika searchableOption adalah SEARCHABLE_ENABLED, nilai kolom dapat ditelusuri dengan kueri teks di SearchService.Search.

Jika SEARCHABLE_ENABLED tetapi jenis kolomnya numerik, nilai kolom tidak akan dapat ditelusuri dengan kueri teks di SearchService.Search, karena tidak ada nilai teks yang terkait dengan kolom numerik.

Jika searchableOption tidak disetel, perilaku server akan ditetapkan secara default ke SEARCHABLE_DISABLED untuk kolom yang mendukung penetapan opsi yang dapat ditelusuri. Hanya kolom string yang tidak memiliki pemetaan properti kunci yang mendukung penetapan searchableOption.

Untuk kolom yang tidak mendukung penetapan opsi yang dapat ditelusuri, server akan melewati penetapan opsi yang dapat ditelusuri, dan penetapan searchableOption untuk kolom tersebut akan memunculkan error INVALID_ARGUMENT.

retrievableOption

enum (RetrievableOption)

Jika retrievableOption adalah RETRIEVABLE_ENABLED, nilai kolom disertakan dalam hasil penelusuran.

Jika retrievableOption tidak diatur, perilaku server akan menggunakan nilai default RETRIEVABLE_DISABLED untuk kolom yang mendukung pengaturan opsi yang dapat diambil. Untuk kolom yang tidak mendukung setelan opsi yang dapat diambil, seperti object dan boolean, server akan melewati setelan opsi yang dapat diambil, dan menyetel retrievableOption untuk kolom tersebut akan menampilkan error INVALID_ARGUMENT.

completableOption

enum (CompletableOption)

Jika completableOption adalah COMPLETABLE_ENABLED, nilai kolom akan langsung digunakan dan ditampilkan sebagai saran untuk Pelengkapan Otomatis di CompletionService.CompleteQuery.

Jika completableOption tidak disetel, perilaku server secara default adalah COMPLETABLE_DISABLED untuk kolom yang mendukung penetapan opsi yang dapat diselesaikan, yaitu hanya kolom string. Untuk kolom yang tidak mendukung penetapan opsi yang dapat diselesaikan, server akan melewati penetapan opsi yang dapat diselesaikan, dan penetapan completableOption untuk kolom tersebut akan memunculkan error INVALID_ARGUMENT.

recsFilterableOption

enum (FilterableOption)

Jika recsFilterableOption adalah FILTERABLE_ENABLED, nilai kolom dapat difilter menurut ekspresi filter di RecommendationService.Recommend.

Jika FILTERABLE_ENABLED, tetapi jenis kolomnya numerik, nilai kolom tidak dapat difilter menurut kueri teks di RecommendationService.Recommend. Hanya kolom tekstual yang didukung.

Jika recsFilterableOption tidak disetel, setelan defaultnya adalah FILTERABLE_DISABLED untuk kolom yang mendukung setelan opsi yang dapat difilter.

Jika kolom yang disetel ke [FILTERABLE_DISABLED] difilter, peringatan akan dibuat dan hasil kosong akan ditampilkan.

keyPropertyType

string

Hanya output. Jenis properti kunci yang dipetakan ke kolom ini. String kosong jika tidak dianotasi sebagai dipetakan ke properti kunci.

Jenis contohnya adalah title, description. Daftar lengkap ditentukan oleh keyPropertyMapping dalam anotasi kolom skema.

Jika kolom skema memiliki anotasi KeyPropertyMapping, indexableOption dan searchableOption kolom ini tidak dapat diubah.

advancedSiteSearchDataSources[]

enum (AdvancedSiteSearchDataSource)

Jika kolom ini ditetapkan, hanya sumber yang sesuai yang akan diindeks untuk kolom ini. Jika tidak, nilai dari berbagai sumber akan digabungkan.

Dengan asumsi halaman dengan <author, a> di tag meta, dan <author, b> di peta halaman: jika enum ini disetel ke METATAGS, kami hanya akan mengindeks <author, a>; jika enum ini tidak disetel, kami akan menggabungkannya dan mengindeks <author, [a, b]>.

schemaOrgPaths[]

string

Jalur kolom untuk mengindeks atribut kustom dari data schema.org. Informasi lebih detail mengenai schema.org dan tipe-tipe yang didefinisikan di dalamnya dapat ditemukan di schema.org.

Hanya digunakan pada skema penelusuran situs lanjutan.

Saat ini hanya mendukung jalur lengkap dari root. Jalur lengkap ke kolom dibuat dengan menggabungkan nama kolom, dimulai dari _root, dengan titik . sebagai pemisah. Contoh:

  • Tanggal publikasi root: _root.datePublished
  • Tanggal publikasi ulasan: _root.review.datePublished
metatagName

string

Opsional. Nama metatag yang ditemukan di halaman HTML. Jika pengguna menentukan kolom ini, nilai nama metatag ini akan digunakan untuk mengekstrak metatag. Jika pengguna tidak menentukan kolom ini, FieldConfig.field_path akan digunakan untuk mengekstrak metatag.

searchableFieldImportance

enum (SearchableFieldImportance)

Opsional. Menentukan pentingnya kolom saat searchableOption adalah SEARCHABLE_ENABLED.

Jika searchableOption adalah SEARCHABLE_DISABLED, kolom ini akan diabaikan.

Jika searchableOption adalah SEARCHABLE_ENABLED dan ini adalah SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED, maka akan berperilaku seperti DEFAULT_IMPORTANCE.

Untuk informasi selengkapnya, lihat weight searchable fields.

FieldType

Jenis nilai kolom dalam Skema.

Enum
FIELD_TYPE_UNSPECIFIED Tipe kolom tidak ditentukan.
OBJECT Jenis nilai kolom adalah Objek.
STRING Jenis nilai kolom adalah String.
NUMBER Jenis nilai kolom adalah Angka.
INTEGER Jenis nilai kolom adalah Bilangan Bulat.
BOOLEAN Jenis nilai kolom adalah Boolean.
GEOLOCATION

Tipe nilai field adalah Geolocation. Geolokasi dinyatakan sebagai objek dengan kunci berikut:

  • id: sebuah string yang mewakili ID lokasi
  • longitude: angka yang merepresentasikan koordinat bujur lokasi
  • latitude: sebuah angka yang mewakili koordinat lintang lokasi tersebut
  • address: sebuah string yang mewakili alamat lengkap lokasi tersebut

latitude dan longitude harus selalu diberikan bersama. Setidaknya salah satu dari a) address atau b) pasangan latitude-longitude harus diberikan.

DATETIME

Jenis nilai kolom adalah Datetime. Datetime dapat dinyatakan sebagai:

  • angka yang merepresentasikan milidetik sejak epoch
  • string yang mewakili milidetik sejak epoch. Misalnya, "1420070400001"
  • sebuah string yang mewakiliISO 8601 Tanggal atau tanggal dan waktu. Contoh:"2015-01-01" atau"2015-01-01T12:10:30Z"

IndexableOption

Pengaturan opsi yang dapat diindeks dalam skema.

Enum
INDEXABLE_OPTION_UNSPECIFIED Nilai yang digunakan saat tidak disetel.
INDEXABLE_ENABLED Opsi yang dapat diindeks diaktifkan untuk kolom skema.
INDEXABLE_DISABLED Opsi yang dapat diindeks dinonaktifkan untuk kolom skema.

DynamicFacetableOption

Status opsi facetable dinamis dari sebuah field skema.

Enum
DYNAMIC_FACETABLE_OPTION_UNSPECIFIED Nilai yang digunakan saat tidak disetel.
DYNAMIC_FACETABLE_ENABLED Opsi dapat difasilitasi dinamis diaktifkan untuk kolom skema.
DYNAMIC_FACETABLE_DISABLED Opsi dapat difasilitasi dinamis dinonaktifkan untuk kolom skema.

SearchableOption

Setelan opsi Dapat ditelusuri dalam skema.

Enum
SEARCHABLE_OPTION_UNSPECIFIED Nilai yang digunakan saat tidak disetel.
SEARCHABLE_ENABLED Opsi yang dapat ditelusuri diaktifkan untuk kolom skema.
SEARCHABLE_DISABLED Opsi pencarian dinonaktifkan untuk bidang skema.

RetrievableOption

Setelan opsi Dapat Diambil di skema.

Enum
RETRIEVABLE_OPTION_UNSPECIFIED Nilai yang digunakan saat tidak disetel.
RETRIEVABLE_ENABLED Opsi dapat diambil diaktifkan untuk kolom skema.
RETRIEVABLE_DISABLED Opsi dapat diambil dinonaktifkan untuk kolom skema.

CompletableOption

Setelan opsi Dapat Diselesaikan dalam skema.

Enum
COMPLETABLE_OPTION_UNSPECIFIED Nilai yang digunakan saat tidak disetel.
COMPLETABLE_ENABLED Opsi yang dapat diselesaikan diaktifkan untuk kolom skema.
COMPLETABLE_DISABLED Opsi penyelesaian dinonaktifkan untuk bidang skema.

FilterableOption

Menetapkan opsi yang dapat difilter untuk kolom skema.

Enum
FILTERABLE_OPTION_UNSPECIFIED Nilai yang digunakan saat tidak disetel.
FILTERABLE_ENABLED Opsi yang dapat difilter diaktifkan untuk kolom skema.
FILTERABLE_DISABLED Opsi yang dapat difilter dinonaktifkan untuk kolom skema.

AdvancedSiteSearchDataSource

Sumber opsional untuk kolom penelusuran situs lanjutan.

Enum
ADVANCED_SITE_SEARCH_DATA_SOURCE_UNSPECIFIED Nilai yang digunakan saat tidak disetel.
METATAGS Mengambil nilai dari tag meta.
PAGEMAP Mengambil nilai dari peta halaman.
URI_PATTERN_MAPPING Ambil nilai dari atribut yang ditetapkan oleh API SiteSearchEngineService.SetUriPatternDocumentData.
SCHEMA_ORG Mengambil nilai dari data schema.org.

SearchableFieldImportance

Menentukan tingkat kepentingan kolom untuk penelusuran. Nilai baru tidak diharapkan ditambahkan ke enum ini.

Enum
SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED nilai yang digunakan saat tidak disetel. Berperilaku seperti DEFAULT_IMPORTANCE jika kolom dapat ditelusuri.
VERY_LOW_IMPORTANCE Menghasilkan sinyal kecil untuk pencarian.
LOW_IMPORTANCE Menunjukkan bahwa kolom digunakan untuk penelusuran, tetapi kurang penting daripada default.
DEFAULT_IMPORTANCE Tingkat kepentingan default. Setara dengan perilaku sebelumnya.
HIGH_IMPORTANCE Lebih penting daripada kolom default.
VERY_HIGH_IMPORTANCE Kolom terpenting untuk penelusuran.

Metode

create

Membuat Schema.

delete

Menghapus Schema.

get

Mendapatkan Schema.

list

Mendapatkan daftar Schema.

patch

Memperbarui Schema.