Tentang dokumen media dan penyimpanan data

Halaman ini memberikan informasi tentang dokumen dan penyimpanan data untuk media. Jika Anda menggunakan rekomendasi media atau penelusuran media, tinjau persyaratan skema untuk dokumen dan penyimpanan data Anda di halaman ini sebelum mengupload data Anda.

Ringkasan

Dokumen adalah item apa pun yang Anda upload ke penyimpanan data AI Applications. Untuk media, dokumen biasanya berisi informasi metadata tentang konten media, seperti video, artikel berita, file musik, atau podcast. Objek Document di API menangkap informasi metadata ini.

Penyimpanan data Anda berisi kumpulan dokumen yang telah Anda upload. Saat membuat penyimpanan data, Anda menentukan bahwa penyimpanan data tersebut akan berisi dokumen media. Penyimpanan data untuk media hanya dapat dilampirkan ke aplikasi media, bukan ke jenis aplikasi lain seperti penelusuran dan rekomendasi kustom. Penyimpanan data direpresentasikan dalam API oleh resource DataStore.

Kualitas data yang Anda upload akan secara langsung memengaruhi kualitas hasil yang diberikan oleh aplikasi media. Secara umum, semakin akurat dan spesifik informasi yang dapat Anda berikan, semakin berkualitas tinggi hasil Anda.

Data yang Anda upload ke penyimpanan data harus diformat dalam skema JSON tertentu. Data yang disusun dalam skema tersebut harus berada dalam tabel BigQuery, file atau sekumpulan file di Cloud Storage, atau dalam objek JSON yang dapat diupload langsung menggunakan konsol Google Cloud .

Skema bawaan Google versus skema kustom

Anda memiliki dua opsi untuk skema data media:

  • Skema standar Google. Jika Anda belum mendesain skema untuk data media, skema standar Google adalah pilihan yang tepat.

  • Skema Anda sendiri. Jika data Anda sudah diformat dalam skema, Anda dapat menggunakan skema Anda sendiri. Untuk mengetahui informasi selengkapnya, lihat Skema kustom di bawah.

Dengan salah satu opsi, Anda dapat menambahkan kolom ke skema setelah impor data awal. Namun, dengan skema standar Google, untuk impor awal, nama dan jenis kolom data Anda harus sama persis dengan yang ada di tabel Kolom dokumen.

Properti utama

Properti digunakan untuk melatih model penelusuran dan rekomendasi. Kolom properti mewakili semua kolom dalam skema Anda.

Properti utama adalah kumpulan properti tetap khusus dalam skema Google. Properti kunci mengidentifikasi informasi penting yang digunakan untuk memahami makna semantik data.

Jika Anda menggunakan skema kustom, pastikan untuk memetakan kolom Anda ke sebanyak mungkin properti utama. Anda melakukan pemetaan di konsol Google Cloud setelah mengimpor data; lihat Membuat penyimpanan data media.

Skema JSON yang telah ditentukan sebelumnya oleh Google untuk Document

Saat menggunakan media, dokumen dapat menggunakan skema JSON yang telah ditentukan sebelumnya oleh Google untuk media.

Dokumen diupload dengan representasi data JSON atau Struct. Pastikan JSON atau Struct dokumen sesuai dengan skema JSON berikut. Skema JSON menggunakan JSON Schema 2020-12 untuk validasi. Untuk mengetahui informasi selengkapnya tentang Skema JSON, lihat juga dokumentasi spesifikasi Skema JSON di json-schema.org.

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
    },
    "description": {
      "type": "string",
    },
    "media_type": {
      "type": "string",
    },
    "language_code": {
      "type": "string",
    },
    "categories": {
      "type": "array",
      "items": {
        "type": "string",
      }
    },
    "uri": {
      "type": "string",
    },
    "images": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "uri": {
            "type": "string",
          },
          "name": {
            "type": "string",
          }
        },
      }
    },
    "in_languages": {
      "type": "array",
      "items": {
        "type": "string",
      }
    },
    "country_of_origin": {
      "type": "string",
    },
    "transcript": {
      "type": "string",
    },
    "content_index": {
      "type": "integer",
    },
    "persons": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
          },
          "role": {
            "type": "string",
          },
          "custom_role": {
            "type": "string",
          },
          "rank": {
            "type": "integer",
          },
          "uri": {
            "type": "string",
          }
        },
        "required": ["name", "role"],
      }
    },
    "organizations": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
          },
          "role": {
            "type": "string",
          },
          "custom_role": {
            "type": "string",
          },
          "rank": {
            "type": "integer",
          },
          "uri": {
            "type": "string",
          }
        },
        "required": ["name", "role"],
      }
    },
    "hash_tags": {
      "type": "array",
      "items": {
        "type": "string",
      }
    },
    "filter_tags": {
      "type": "array",
      "items": {
        "type": "string",
      }
    },
    "duration": {
      "type": "string",
    },
    "content_rating": {
      "type": "array",
      "items": {
        "type": "string",
      }
    },
    "aggregate_ratings": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "rating_source": {
            "type": "string",
          },
          "rating_score": {
            "type": "number",
          },
          "rating_count": {
            "type": "integer",
          }
        },
        "required": ["rating_source"],
      }
    },
    "available_time": {
      "type": "datetime",
    },
    "expire_time": {
      "type": "datetime",
    },
    "live_event_start_time": {
      "type": "datetime",
    },
    "live_event_end_time": {
      "type": "datetime",
    },
    "production_year": {
      "type": "integer",
    }
  },
  "required": ["title", "categories", "uri", "available_time"],
}

Contoh objek JSON Document

Contoh berikut menunjukkan contoh objek Document JSON.

{
  "title": "Test document title",
  "description": "Test document description",
  "media_type": "sports-game",
  "in_languages": [
    "en-US"
  ],
  "language_code": "en-US",
  "categories": [
    "sports > clip",
    "sports > highlight"
  ],
  "uri": "http://www.example.com",
  "images": [
    {
      "uri": "http://example.com/img1",
      "name": "image_1"
    }
  ],
  "country_of_origin": "US",
  "content_index": 0,
  "transcript": "Test document transcript",
  "persons": [
    {
      "name": "sports person",
      "role": "player",
      "rank": 0,
      "uri": "http://example.com/person"
    },
  ],
  "organizations": [
    {
      "name": "sports team",
      "role": "team",
      "rank": 0,
      "uri": "http://example.com/team"
    },
  ],
  "hash_tags": [
    "tag1"
  ],
  "filter_tags": [
    "filter_tag"
  ],
  "duration": "100s",
  "production_year": 1900,
  "content_rating": [
    "PG-13"
  ],
  "aggregate_ratings": [
    {
      "rating_source": "imdb",
      "rating_score": 4.5,
      "rating_count": 1250
    }
  ],
  "available_time": "2022-08-26T23:00:17Z"
}

Kolom dokumen

Bagian ini mencantumkan nilai kolom yang Anda berikan saat membuat dokumen untuk penyimpanan data. Nilai harus sesuai dengan nilai yang digunakan dalam database dokumen internal Anda, dan harus secara akurat mencerminkan item yang diwakili.

Kolom objek Document

Kolom berikut adalah kolom tingkat teratas untuk objek Document. Lihat juga kolom ini di halaman referensi Document.

Nama kolom Catatan
name Nama resource unik lengkap dokumen. Wajib untuk semua metode Document, kecuali create dan import. Selama impor, nama dibuat secara otomatis dan tidak perlu diberikan secara manual.
id ID dokumen yang digunakan oleh database internal Anda. Kolom ID harus unik di seluruh penyimpanan data Anda. Nilai yang sama digunakan saat Anda merekam peristiwa pengguna, dan juga ditampilkan oleh metode recommend dan search.
schemaId Wajib. ID skema yang berada di penyimpanan data yang sama. Harus ditetapkan sebagai "default_schema", yang dibuat secara otomatis saat penyimpanan data default dibuat.
parentDocumentId ID dokumen induk. Untuk dokumen tingkat teratas (root), parent_document_id dapat kosong atau dapat menunjuk ke dirinya sendiri. Untuk dokumen turunan, parent_document_id harus mengarah ke dokumen root yang valid.

Kolom properti

Kolom berikut ditentukan menggunakan format Skema JSON yang telah ditentukan untuk media.

Untuk mengetahui informasi selengkapnya tentang properti JSON, lihat dokumentasi Understanding JSON Schema untuk properties di json-schema.org.

Tabel berikut menentukan kolom datar

Nama kolom Catatan
title

String - wajib

Judul dokumen dari database Anda. String berenkode UTF-8. Dibatasi hingga 1.000 karakter.

categories

String - wajib

Kategori dokumen. Properti ini diulang untuk mendukung satu dokumen yang termasuk dalam beberapa kategori paralel. Gunakan jalur kategori lengkap untuk hasil yang lebih berkualitas.

Untuk merepresentasikan jalur lengkap kategori, gunakan simbol > untuk memisahkan hierarki. Jika > adalah bagian dari nama kategori, ganti dengan karakter lain.

Contoh:

"categories": [ "sports > highlight" ]

Dokumen dapat berisi maksimal 250 kategori. Setiap kategori adalah string yang dienkode UTF-8 dengan batas panjang 5.000 karakter.

uri

String - wajib

URI dokumen. Batas panjang 5.000 karakter.

description

String - sangat direkomendasikan

Deskripsi dokumen. Batas panjang 5.000 karakter.

media_type

String - kolom ini wajib diisi untuk film dan acara

Kategori tingkat atas.

Jenis yang didukung: movie, show, concert, event, live-event, broadcast, tv-series, episode, video-game, clip, vlog, audio, audio-book, music, album, articles, news, radio, podcast, book, dan sports-game.

Nilai movie dan show memiliki makna khusus. Fitur ini menyebabkan dokumen diperkaya dengan cara yang meningkatkan peringkat dan membantu pengguna yang melakukan penelusuran judul menemukan konten alternatif yang mungkin menarik bagi mereka.

language_code

String - opsional

Bahasa judul/deskripsi dan atribut string lainnya. Gunakan tag bahasa yang ditentukan oleh BCP 47.

Untuk rekomendasi dokumen, kolom ini diabaikan dan bahasa teks akan terdeteksi secara otomatis. Dokumen dapat menyertakan teks dalam berbagai bahasa, tetapi menduplikasi dokumen untuk menyediakan teks dalam beberapa bahasa dapat menurunkan performa.

Untuk penelusuran dokumen, kolom ini digunakan. Nilai defaultnya adalah "en-US" jika tidak disetel. Misalnya, "language_code": "en-US".

duration

String - wajib diisi untuk aplikasi rekomendasi media yang memiliki tujuan bisnis rasio klik-tayang (CTR) atau durasi tonton per sesi.

Durasi konten media. Durasi harus dienkode sebagai string. Encoding harus sama dengan encoding string JSON google::protobuf::Duration. Misalnya: "5s", "1m"

available_time

Tanggal dan waktu - wajib

Waktu saat konten tersedia untuk pengguna akhir. Kolom ini mengidentifikasi keaktualan konten untuk pengguna akhir. Stempel waktu harus sesuai dengan standar RFC 3339.

Contoh:

"2022-08-26T23:00:17Z"

Untuk memfilter ketersediaan, lihat Memfilter rekomendasi dan Memfilter dokumen yang tersedia.

expire_time

Tanggal dan waktu - opsional

Waktu konten akan berakhir untuk pengguna akhir. Kolom ini mengidentifikasi keaktualan konten untuk pengguna akhir. Stempel waktu harus sesuai dengan standar RFC 3339.

Contoh:

"2032-12-31T23:00:17Z"

Untuk mengecualikan dokumen yang sudah tidak berlaku dari hasil, lihat Memfilter rekomendasi dan Memfilter penelusuran media.

live_event_start_time

Tanggal dan waktu - opsional

Waktu acara live dimulai. Stempel waktu harus sesuai dengan standar RFC 3339.

Contoh:

"2020-12-31T23:00:17Z"

live_event_end_time

Tanggal dan waktu - opsional

Waktu selesainya acara live. Stempel waktu harus sesuai dengan standar RFC 3339.

Contoh:

"2024-01-28T23:00:17Z"

in_languages

String - opsional - berulang

Bahasa konten media. Gunakan tag bahasa yang ditentukan oleh BCP 47.

Contoh: "in_languages": [ "en-US"]

country_of_origin

String - opsional

Negara asal dokumen media. Batas panjang 128 karakter.

Contoh: "country_of_origin": "US"

transcript

String - opsional

Transkrip dokumen media.

content_index

Bilangan bulat - opsional

Indeks konten dokumen media. Kolom indeks konten dapat digunakan untuk mengurutkan dokumen relatif terhadap dokumen lainnya. Misalnya, nomor episode dapat digunakan sebagai indeks konten.

Indeks konten harus berupa bilangan bulat non-negatif.

Contoh: "content_index": 0

filter_tags

String - opsional - berulang

Tag filter untuk dokumen. Maksimal 250 nilai yang diizinkan per dokumen dengan batas panjang 1.000 karakter. Jika tidak, error INVALID_ARGUMENT akan ditampilkan.

Tag ini dapat digunakan untuk memfilter hasil penelusuran dan rekomendasi. Untuk memfilter hasil rekomendasi, teruskan tag sebagai bagian dari RecommendRequest.filter. Tag hanya digunakan untuk memfilter hasil yang ditampilkan; nilai tag tidak memengaruhi hasil yang ditampilkan oleh model penelusuran dan rekomendasi.

Contoh: "filter_tags": [ "grade_level", "season"]

hash_tags

String - opsional - berulang

Tagar untuk dokumen. Maksimal 100 nilai yang diizinkan per dokumen, dengan batas panjang 5.000 karakter.

Contoh: "hash_tags": [ "soccer", "world cup"]

production_year

Bilangan bulat - opsional

Tahun produksi media.

content_rating

String - opsional - berulang

Rating konten, digunakan untuk sistem saran konten dan pemfilteran konten berdasarkan audiens. Maksimal 100 nilai yang diizinkan per dokumen dengan batas panjang 128 karakter.

Tag ini dapat digunakan untuk memfilter hasil rekomendasi dengan meneruskan tag sebagai bagian dari RecommendRequest.filter.

Contoh: content_rating: ["PG-13"]

Tabel berikut menentukan kolom hierarkis.

Nama kolom Catatan
images

Objek - opsional - berulang

Properti kunci root untuk merangkum properti terkait gambar.

images.uri

String - opsional

URI gambar. Batas panjang 5.000 karakter.

images.name

String - opsional

Nama gambar. Batas panjang 128 karakter.

persons

Objek - opsional - berulang

Properti kunci root untuk merangkum properti terkait orang.

Contoh: "persons":[{"name":"sports person","role":"player","rank":0,"uri":"http://example.com/person"}]

persons.name

String - wajib

Nama orang.

persons.role

String - wajib

Peran orang dalam item media.

Nilai yang didukung: director, actor, player, team, league, editor, author, character, contributor, creator, editor, funder, producer, provider, publisher, sponsor, translator, music-by, channel, custom-role

Jika tidak ada nilai yang didukung diterapkan ke role, tetapkan role ke custom-role dan berikan nilai di kolom custom_role.

persons.custom_role

String - opsional

custom_role ditetapkan jika dan hanya jika role ditetapkan sebagai custom-role. Harus berupa string berenkode UTF-8 dengan batas panjang 128 karakter. Harus cocok dengan pola: [a-zA-Z0-9][a-zA-Z0-9_]*.

persons.rank

Bilangan bulat - opsional

Digunakan untuk peringkat peran. Misalnya, untuk aktor pertama, role = "actor", rank = 1

persons.uri

String - opsional

URI orang.

organizations

Objek - opsional - berulang

Properti kunci root untuk merangkum properti terkait organization.

Contoh: "organizations ":[{"name":"sports team","role":"team","rank":0,"uri":"http://example.com/team"}]

organizations.name

String - wajib

Nama organisasi.

organizations.role

String - wajib

Peran organisasi dalam item media.

Nilai yang didukung: director, actor, player, team, league, editor, author, character, contributor, creator, editor, funder, producer, provider, publisher, sponsor, translator, music-by, channel, custom-role

Jika tidak ada nilai yang didukung diterapkan ke role, tetapkan role ke custom-role dan berikan nilai di kolom custom_role.

organizations.custom_role

String - opsional

custom_role ditetapkan jika dan hanya jika role ditetapkan sebagai custom-role. Harus berupa string berenkode UTF-8 dengan batas panjang 128 karakter. Harus cocok dengan pola: [a-zA-Z0-9][a-zA-Z0-9_]*.

organizations.rank

String - opsional

Digunakan untuk peringkat peran. Misalnya, untuk penerbit pertama: role = "publisher", rank = 1

organizations.uri

String - opsional

URI organisasi.

aggregate_ratings

Objek - opsional - berulang

Properti kunci root untuk merangkum properti terkait aggregate_rating.

aggregate_ratings.rating_source

String - wajib

Sumber untuk rating. Misalnya, imdb atau rotten_tomatoes. Harus berupa string berenkode UTF-8 dengan batas panjang 128 karakter. Harus cocok dengan pola: [a-zA-Z0-9][a-zA-Z0-9_]*.

aggregate_ratings.rating_score

Ganda - wajib

Rating gabungan. Rating harus dinormalisasi ke rentang [1, 5].

aggregate_ratings.rating_count

Bilangan bulat - opsional

Jumlah ulasan individual. Harus berupa nilai positif.

Tingkat dokumen

Tingkat dokumen menentukan hierarki di penyimpanan data Anda. Biasanya, Anda harus memiliki penyimpanan data satu tingkat atau penyimpanan data dua tingkat. Hanya dua lapisan yang didukung.

Misalnya, Anda dapat memiliki penyimpanan data tingkat tunggal di mana setiap dokumen adalah item individual. Atau, Anda dapat memilih penyimpanan data dua tingkat yang berisi kedua grup item dan item individual.

Jenis tingkat dokumen

Ada dua jenis tingkat dokumen:

  • Induk. Dokumen induk adalah dokumen yang

    ditampilkan dalam rekomendasi dan penelusuran. Induk dapat berupa dokumen individual atau grup dokumen serupa. Jenis tingkat ini direkomendasikan.

  • Turunan. Dokumen turunan adalah versi dokumen induk grup. Anak hanya dapat berupa dokumen individual. Misalnya, jika dokumen induk adalah "Acara TV Contoh", dokumen turunan dapat berupa "Episode 1" dan "Episode 2". Jenis tingkat ini mungkin sulit dikonfigurasi dan dipertahankan, dan tidak direkomendasikan.

Tentang hierarki penyimpanan data

Saat merencanakan hierarki penyimpanan data, tentukan apakah penyimpanan data Anda hanya boleh berisi induk atau induk dan turunan. Poin penting yang perlu diingat adalah bahwa rekomendasi dan penelusuran hanya menampilkan dokumen induk.

Misalnya, penyimpanan data khusus induk dapat berfungsi dengan baik untuk buku audio, dengan panel rekomendasi menampilkan pilihan buku audio individual. Di sisi lain, jika Anda mengupload episode acara TV sebagai dokumen induk ke penyimpanan data khusus induk, beberapa episode yang tidak berurutan dapat direkomendasikan di panel yang sama.

Penyimpanan data acara TV dapat berfungsi dengan orang tua dan anak-anak, dengan setiap dokumen induk merepresentasikan acara TV dengan dokumen turunan yang merepresentasikan episode acara TV tersebut. Penyimpanan data dua tingkat ini memungkinkan panel rekomendasi menampilkan berbagai acara TV serupa. Pengguna akhir dapat mengklik acara tertentu untuk memilih episode yang akan ditonton.

Karena hierarki induk-turunan sulit dikonfigurasi dan dipertahankan, sebaiknya gunakan penyimpanan data khusus induk.

Misalnya, penyimpanan data acara TV dapat berfungsi dengan baik sebagai penyimpanan data khusus induk tempat setiap dokumen induk mewakili acara TV yang dapat direkomendasikan, dan episode individual tidak disertakan (dan oleh karena itu tidak direkomendasikan).

Jika Anda menentukan bahwa penyimpanan data Anda harus memiliki induk dan turunan, yaitu grup dan item tunggal, tetapi Anda hanya memiliki item tunggal sekarang, Anda perlu membuat induk untuk grup. Informasi minimum yang perlu Anda berikan untuk orang tua adalah id, title, dan categories. Untuk mengetahui informasi selengkapnya, lihat bagian Kolom dokumen.

Skema BigQuery untuk media

Jika Anda berencana mengimpor dokumen dari BigQuery, gunakan skema BigQuery yang telah ditentukan sebelumnya untuk membuat tabel BigQuery dengan format yang benar dan memuatnya dengan data dokumen Anda sebelum Anda mengimpor dokumen.

[
  {
    "name": "id",
    "mode": "REQUIRED",
    "type": "STRING",
    "fields": []
  },
  {
    "name": "schemaId",
    "mode": "REQUIRED",
    "type": "STRING",
    "fields": []
  },
  {
    "name": "parentDocumentId",
    "mode": "NULLABLE",
    "type": "STRING",
    "fields": []
  },
  {
    "name": "jsonData",
    "mode": "NULLABLE",
    "type": "STRING",
    "fields": []
  }
]

Skema khusus

Jika data Anda sudah diformat dalam skema, Anda dapat memutuskan untuk tidak menggunakan skema standar Google yang dijelaskan di atas. Sebagai gantinya, Anda dapat menggunakan skema Anda sendiri dan memetakan kolom dari skema Anda ke properti kunci media. Untuk memetakan skema saat Anda membuat penyimpanan media data, gunakan konsolGoogle Cloud .

Jika menggunakan skema sendiri, Anda harus memiliki kolom dalam skema yang dapat dipetakan ke lima properti utama berikut untuk media:

Nama properti kunci yang diperlukan Catatan
title

String - wajib

Judul dokumen dari database Anda. String berenkode UTF-8. Dibatasi hingga 1.000 karakter.

uri

String - wajib

URI dokumen. Batas panjang 5.000 karakter.

category

String - wajib

Kategori dokumen. Properti ini diulang untuk mendukung satu dokumen yang termasuk dalam beberapa kategori paralel. Gunakan jalur kategori lengkap untuk hasil yang lebih berkualitas.

Untuk merepresentasikan jalur lengkap kategori, gunakan simbol > untuk memisahkan hierarki. Jika > adalah bagian dari nama kategori, ganti dengan karakter lain.

Contoh:

"categories": [ "sports > highlight" ]

Dokumen dapat berisi maksimal 250 kategori. Setiap kategori adalah string yang dienkode UTF-8 dengan batas panjang 5.000 karakter.

media_available_time

Tanggal dan waktu - wajib

Waktu saat konten tersedia untuk pengguna akhir. Kolom ini mengidentifikasi keaktualan konten untuk pengguna akhir. Stempel waktu harus sesuai dengan standar RFC 3339.

Contoh:

"2022-08-26T23:00:17Z"

Untuk memfilter ketersediaan, lihat Memfilter rekomendasi dan Memfilter dokumen yang tersedia.

media_duration

String - wajib diisi untuk aplikasi rekomendasi media yang memiliki tujuan bisnis rasio klik-tayang (CTR) atau durasi tonton per sesi.

Durasi konten media. Durasi harus dienkode sebagai string. Encoding harus sama dengan encoding string JSON google::protobuf::Duration. Misalnya: "5s", "1m"

Kolom ini penting untuk aplikasi rekomendasi media yang tujuan bisnisnya adalah memaksimalkan rasio konversi (CVR) atau durasi tonton per pengunjung.

Selain itu, ada properti utama yang tidak wajib, tetapi untuk hasil yang berkualitas, petakan sebanyak mungkin properti ini ke skema Anda.

Properti utama ini adalah sebagai berikut:

Nama properti utama Catatan
description

String - sangat direkomendasikan

Deskripsi dokumen. Batas panjang 5.000 karakter.

image

Objek - opsional - berulang

Properti kunci root untuk merangkum properti terkait gambar.

image_name

String - opsional

Nama gambar. Batas panjang 128 karakter.

image_uri

String - opsional

URI gambar. Batas panjang 5.000 karakter.

language-code

String - opsional

Bahasa judul/deskripsi dan atribut string lainnya. Gunakan tag bahasa yang ditentukan oleh BCP 47.

Untuk rekomendasi dokumen, kolom ini diabaikan dan bahasa teks akan terdeteksi secara otomatis. Dokumen dapat menyertakan teks dalam berbagai bahasa, tetapi menduplikasi dokumen untuk menyediakan teks dalam beberapa bahasa dapat menurunkan performa.

Untuk penelusuran dokumen, kolom ini digunakan. Nilai defaultnya adalah "en-US" jika tidak disetel. Contoh, "language_code": "en-US"

media_aggregated_rating

Objek - opsional - berulang

Properti kunci root untuk merangkum properti terkait aggregate_rating.

media_aggregated_rating_count

Bilangan bulat - opsional

Jumlah ulasan individual. Harus berupa nilai positif.

media_aggregated_rating_score

Ganda - wajib

Rating gabungan. Rating harus dinormalisasi ke rentang [1, 5].

media_aggregated_rating_source

String - wajib

Sumber untuk rating. Misalnya, imdb atau rotten_tomatoes. Harus berupa string berenkode UTF-8 dengan batas panjang 128 karakter. Harus cocok dengan pola: [a-zA-Z0-9][a-zA-Z0-9_]*.

media_content_index

Bilangan bulat - opsional

Indeks konten dokumen media. Kolom indeks konten dapat digunakan untuk mengurutkan dokumen relatif terhadap dokumen lainnya. Misalnya, nomor episode dapat digunakan sebagai indeks konten.

Indeks konten harus berupa bilangan bulat non-negatif.

Contoh: "content_index": 0

media_content_rating

String - opsional - berulang

Rating konten, digunakan untuk sistem saran konten dan pemfilteran konten berdasarkan audiens. Maksimal 100 nilai yang diizinkan per dokumen dengan batas panjang 128 karakter.

Tag ini dapat digunakan untuk memfilter hasil rekomendasi dengan meneruskan tag sebagai bagian dari RecommendRequest.filter.

Contoh: content_rating: ["PG-13"]

media_country_of_origin

String - opsional

Negara asal dokumen media. Batas panjang 128 karakter.

Contoh: "country_of_origin": "US"

media_expire_time

Tanggal dan waktu - opsional

Waktu konten akan berakhir untuk pengguna akhir. Kolom ini mengidentifikasi keaktualan konten untuk pengguna akhir. Stempel waktu harus sesuai dengan standar RFC 3339.

Contoh:

"2032-12-31T23:00:17Z"

Untuk mengecualikan dokumen yang sudah tidak berlaku dari hasil, lihat Memfilter rekomendasi dan Memfilter penelusuran media.

live_event_start_time

Tanggal dan waktu - opsional

Waktu acara live dimulai. Stempel waktu harus sesuai dengan standar RFC 3339.

Contoh:

"2020-12-31T23:00:17Z"

live_event_end_time

Tanggal dan waktu - opsional

Waktu selesainya acara live. Stempel waktu harus sesuai dengan standar RFC 3339.

Contoh:

"2024-01-28T23:00:17Z"

media_filter_tag

String - opsional - berulang

Tag filter untuk dokumen. Maksimal 250 nilai yang diizinkan per dokumen dengan batas panjang 1.000 karakter. Jika tidak, error INVALID_ARGUMENT akan ditampilkan.

Tag ini dapat digunakan untuk memfilter hasil rekomendasi dengan meneruskan tag sebagai bagian dari RecommendRequest.filter.

Contoh: "filter_tags": [ "filter_tag"]

media_hash_tag

String - opsional - berulang

Tagar untuk dokumen. Maksimal 100 nilai yang diizinkan per dokumen, dengan batas panjang 5.000 karakter.

Contoh: "hash_tags": [ "soccer", "world cup"]

media_in_language

String - opsional - berulang

Bahasa konten media. Gunakan tag bahasa yang ditentukan oleh BCP 47.

Contoh: "in_languages": [ "en-US"]

media_organization

Objek - opsional - berulang

Properti kunci root untuk merangkum properti terkait organization.

Contoh: "organizations ":[{"name":"sports team","role":"team","rank":0,"uri":"http://example.com/team"}]

media_organization_custom_role

String - opsional

custom_role ditetapkan jika dan hanya jika role ditetapkan sebagai custom-role. Harus berupa string berenkode UTF-8 dengan batas panjang 128 karakter. Harus cocok dengan pola: [a-zA-Z0-9][a-zA-Z0-9_]*.

media_organization_name

String - wajib

Nama organisasi.

media_organization_rank

String - opsional

Digunakan untuk peringkat peran. Misalnya, untuk penerbit pertama: role = "publisher", rank = 1.

media_organization_role

String - wajib

Peran organisasi dalam item media.

Nilai yang didukung: director, actor, player, team, league, editor, author, character, contributor, creator, editor, funder, producer, provider, publisher, sponsor, translator, music-by, channel, custom-role

Jika tidak ada nilai yang didukung diterapkan ke role, tetapkan role ke custom-role dan berikan nilai di kolom custom_role.

media_organization_uri

String - opsional

URI organisasi.

media_person

Objek - opsional - berulang

Properti kunci root untuk merangkum properti terkait orang.

Contoh: "persons":[{"name":"sports person","role":"player","rank":0,"uri":"http://example.com/person"}]

media_person_custom_role

String - opsional

custom_role ditetapkan jika dan hanya jika role ditetapkan sebagai custom-role. Harus berupa string berenkode UTF-8 dengan batas panjang 128 karakter. Harus cocok dengan pola: [a-zA-Z0-9][a-zA-Z0-9_]*.

media_person_name

String - wajib

Nama orang.

media_person_rank

Bilangan bulat - opsional

Digunakan untuk peringkat peran. Misalnya, untuk aktor pertama, role = "actor", rank = 1

media_person_role

String - wajib

Peran orang dalam item media.

Nilai yang didukung: director, actor, player, team, league, editor, author, character, contributor, creator, editor, funder, producer, provider, publisher, sponsor, translator, music-by, channel, custom-role

Jika tidak ada nilai yang didukung diterapkan ke role, tetapkan role ke custom-role dan berikan nilai di kolom custom_role.

media_person_uri

String - opsional

URI orang.

media_production_year

Bilangan bulat - opsional

Tahun produksi media.

media_transcript

String - opsional

Transkrip dokumen media.

media_type

String - kolom ini wajib diisi untuk film dan acara

Kategori tingkat atas.

Jenis yang didukung: movie, show, concert, event, live-event, broadcast, tv-series, episode, video-game, clip, vlog, audio, audio-book, music, album, articles, news, radio, podcast, book, dan sports-game.

Nilai movie dan show memiliki makna khusus. Fitur ini menyebabkan dokumen diperkaya dengan cara yang meningkatkan peringkat dan membantu pengguna yang melakukan penelusuran judul menemukan konten alternatif yang mungkin menarik bagi mereka.

Jika Anda menggunakan skema Anda sendiri, bukan skema standar Google, lihat Menyediakan atau mendeteksi skema secara otomatis untuk mengetahui informasi tentang memformat dan mengimpor skema Anda sendiri.