媒体文档和数据存储区简介

本页介绍了媒体的文档和数据存储区。如果您要使用媒体推荐或媒体搜索,请先查看本页中针对文档和数据存储区的架构要求,然后再上传数据。

概览

文档是指您上传到 AI 应用数据存储区中的任何内容。对于媒体,文档通常包含有关媒体内容(例如视频、新闻报道、音乐文件或播客)的元数据信息。API 中的 Document 对象会捕获此元数据信息。

您的数据存储区包含您上传的文档集合。创建数据存储区时,您需要指定该存储区将包含媒体文档。媒体的数据存储区只能附加到媒体应用,而不能附加到其他类型的应用,例如自定义搜索和推荐应用。在 API 中,数据存储区由 DataStore 资源表示。

您上传的数据的质量会直接影响媒体应用提供的结果的质量。一般来说,您提供的信息越准确、具体,结果质量就越高。

您上传到数据存储区的数据必须采用特定的 JSON 架构格式。按该架构排列的数据必须位于 BigQuery 表、Cloud Storage 中的文件或一组文件,或者位于可使用 Google Cloud 控制台直接上传的 JSON 对象中。

Google 预定义架构与自定义架构

媒体数据架构有两种选择:

  • Google 预定义架构。如果您尚未为媒体数据设计架构,那么 Google 预定义的架构是不错的选择。

  • 您自己的架构。如果您已将数据格式化为架构,则可以使用自己的架构。如需了解详情,请参阅下文中的自定义架构

无论选择哪种方式,您都可以在初始数据导入后向架构添加字段。不过,如果使用 Google 预定义架构,在初始导入时,您的数据字段名称和类型必须与文档字段表中的名称和类型完全一致。

关键属性

属性用于训练搜索和推荐模型。属性字段表示架构中的所有字段。

关键属性是 Google 架构中的一组特殊的固定属性。关键属性用于确定有助于了解数据语义含义的重要信息。

如果您使用自定义架构,请务必将字段尽可能多地映射到关键属性。您可以在导入数据后在 Google Cloud 控制台中进行映射;请参阅创建媒体数据存储区

Google 针对 Document 预定义的 JSON 架构

使用媒体时,文档可以使用 Google 预定义的媒体 JSON 架构。

文档以 JSON 或 Struct 数据表示形式上传。确保文档 JSON 或 Struct 符合以下 JSON 架构。JSON 架构使用 JSON 架构 2020-12 进行验证。如需详细了解 JSON 架构,另请参阅 json-schema.org 上的 JSON 架构规范文档

{
  "$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"],
}

JSON Document 对象示例

以下示例展示了一个 JSON Document 对象。

{
  "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"
}

文档字段

本部分列出了您在为数据存储区创建文档时提供的字段值。这些值应与您内部文档数据库中使用的值对应,并且应准确反映所表示的商品。

Document 对象字段

以下字段是 Document 对象的顶级字段。另请参阅 Document 参考页面上的以下字段。

字段名称 备注
name 文档的完整唯一资源名称。除 createimport 以外的所有 Document 方法都需要此名称。在导入期间,该名称是自动生成的,不需要手动提供。
id 内部数据库使用的文档 ID。ID 字段在整个数据存储区中必须是唯一的。记录用户事件时,也会使用同一个值,recommendsearch 方法也会返回该值。
schemaId 必需。位于同一数据存储区中的架构的标识符。 应设置为“default_schema”,该架构会在创建默认数据存储区时自动创建。
parentDocumentId 父文档的 ID。对于顶级(根)文档,parent_document_id 可以为空,也可以指向自身。对于子文档,parent_document_id 应指向有效的根文档。

媒体资源字段

以下字段使用预定义的媒体 JSON 架构格式定义。

如需详细了解 JSON 属性,请参阅 json-schema.org 上有关属性的“了解 JSON 架构”文档。

下表定义了扁平字段

字段名称 备注
title

字符串 - 必需

数据库中的文档标题。UTF-8 编码的字符串。不得超过 1000 个字符。

categories

字符串 - 必需

文档类别。此属性会重复,以支持属于多个并行类别的文档。使用完整的类别路径可获得更高质量的结果。

如需表示类别的完整路径,请使用 > 符号分隔层次结构。如果 > 是类别名称的一部分,请将其替换为其他字符。

例如:

"categories": [ "sports > highlight" ]

一个文档最多可包含 250 个类别。每个类别都是一个 UTF-8 编码的字符串,长度上限为 5,000 个字符。

uri

字符串 - 必需

文档的 URI。长度上限为 5000 个字符。

description

字符串 - 强烈建议

文档的说明。长度上限为 5000 个字符。

media_type

字符串 - 对于电影和电视节目,此字段为必填字段

顶级类别。

支持的类型:movieshowconcerteventlive-eventbroadcasttv-seriesepisodevideo-gameclipvlogaudioaudio-bookmusicalbumarticlesnewsradiopodcastbooksports-game

movieshow 具有特殊含义。它们会以某种方式丰富文档,从而提高排名,并帮助进行影视内容搜索的用户找到他们可能感兴趣的替代内容。

language_code

字符串 - 可选

标题/说明和其他字符串属性的语言。使用 BCP 47 定义的语言标记。

对于文档建议,系统会忽略此字段并自动检测文本语言。文档可以包含不同语言的文本,但复制文档以提供多语言文本可能会导致性能下降。

对于文档搜索,此字段处于使用状态。如果未设置,则默认为“en-US”。 例如,"language_code": "en-US"

duration

字符串 - 对于业务目标为点击率 (CVR) 或每次会话的观看时长的媒体推荐应用,此参数为必需参数。

媒体内容的时长。时长应编码为字符串。 编码应与 google::protobuf::Duration JSON 字符串编码相同。例如:“5s”“1m”

available_time

日期时间 - 必需

内容可供最终用户使用的时间。此字段用于标识面向最终用户的内容的新鲜度。时间戳应符合 RFC 3339 标准。

例如:

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

如需按可用性进行过滤,请参阅过滤建议过滤可用文档

expire_time

日期时间 - 可选

内容对最终用户的过期时间。此字段用于标识面向最终用户的内容的新鲜度。时间戳应符合 RFC 3339 标准。

例如:

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

如需从结果中排除已过期的文档,请参阅过滤推荐内容过滤媒体搜索结果

live_event_start_time

日期时间 - 可选

直播活动的开始时间。时间戳应符合 RFC 3339 标准。

例如:

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

live_event_end_time

日期时间 - 可选

直播活动结束的时间。时间戳应符合 RFC 3339 标准。

例如:

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

in_languages

字符串 - 可选 - 重复

媒体内容的语言。使用 BCP 47 定义的语言标记。

例如:"in_languages": [ "en-US"]

country_of_origin

字符串 - 可选

媒体文档的原产国家/地区。长度限制为 128 个字符。

例如:"country_of_origin": "US"

transcript

字符串 - 可选

媒体文档的转写内容。

content_index

整数 - 可选

媒体文档的内容索引。内容索引字段可用于对文档相对于其他文档进行排序。例如,剧集编号可用作内容索引。

内容索引应为非负整数。

例如:"content_index": 0

filter_tags

字符串 - 可选 - 重复

文档的过滤标记。每个文档最多允许 250 个值,长度限制为 1000 个字符。否则,系统会返回 INVALID_ARGUMENT 错误。

这些标记可用于过滤搜索结果和推荐结果。如需过滤建议结果,请将标记作为 RecommendRequest.filter 的一部分进行传递。标记仅用于过滤返回的结果;标记的值不会影响搜索和推荐模型返回的结果。

例如:"filter_tags": [ "grade_level", "season"]

hash_tags

字符串 - 可选 - 重复

文档的 # 标签。每个文档最多允许 100 个值,长度限制为 5000 个字符。

例如:"hash_tags": [ "soccer", "world cup"]

production_year

整数 - 可选

媒体的制作年份。

content_rating

字符串 - 可选 - 重复

内容分级,用于基于受众群体的内容建议系统和内容过滤。每个文档最多允许 100 个值,长度限制为 128 个字符。

此标记可用于通过将标记作为 RecommendRequest.filter 的一部分传递来过滤推荐结果。

例如:content_rating: ["PG-13"]

下表定义了分层字段。

字段名称 备注
images

对象 - 可选 - 重复

用于封装与图片相关的属性的根键属性。

images.uri

字符串 - 可选

图片的 URI。长度上限为 5,000 个字符。

images.name

字符串 - 可选

图片的名称。长度限制为 128 个字符。

persons

对象 - 可选 - 重复

用于封装与人员相关的属性的根键属性。

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

persons.name

字符串 - 必需

人员的姓名。

persons.role

字符串 - 必需

媒体内容中人物的角色。

支持的值:director、actor、player、team、league、editor、author、character、contributor、creator、editor、funder、producer、provider、publisher、sponsor、translator、music-by、channel、custom-role

如果 role 未应用任何支持的值,请将 role 设置为 custom-role,并在 custom_role 字段中提供相应值。

persons.custom_role

字符串 - 可选

当且仅当 role 设置为 custom-role 时,custom_role 才会设置。必须是采用 UTF-8 编码的字符串,长度限制为 128 个字符。必须与以下格式匹配: [a-zA-Z0-9][a-zA-Z0-9_]*

persons.rank

整数 - 可选

用于角色排名。例如,对于第一个演员, role = "actor", rank = 1

persons.uri

字符串 - 可选

人员的 URI。

organizations

对象 - 可选 - 重复

用于封装 organization 相关属性的根键属性。

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

organizations.name

字符串 - 必需

组织名称。

organizations.role

字符串 - 必需

组织在媒体内容中的角色。

支持的值:director、actor、player、team、league、editor、author、character、contributor、creator、editor、funder、producer、provider、publisher、sponsor、translator、music-by、channel、custom-role

如果 role 未应用任何支持的值,请将 role 设置为 custom-role,并在 custom_role 字段中提供相应值。

organizations.custom_role

字符串 - 可选

当且仅当 role 设置为 custom-role 时,custom_role 才会设置。必须是采用 UTF-8 编码的字符串,长度限制为 128 个字符。必须与以下格式匹配: [a-zA-Z0-9][a-zA-Z0-9_]*

organizations.rank

字符串 - 可选

用于角色排名。例如,对于第一个发布商: role = "publisher", rank = 1

organizations.uri

字符串 - 可选

组织的 URI。

aggregate_ratings

对象 - 可选 - 重复

用于封装 aggregate_rating 相关属性的根键属性。

aggregate_ratings.rating_source

字符串 - 必需

分级来源。例如,imdbrotten_tomatoes。必须是采用 UTF-8 编码的字符串,长度限制为 128 个字符。必须与以下格式匹配: [a-zA-Z0-9][a-zA-Z0-9_]*

aggregate_ratings.rating_score

Double - 必需

汇总评分。评分应归一化到 [1, 5] 范围内。

aggregate_ratings.rating_count

整数 - 可选

个人评价的数量。应为非负值。

文档级别

文档级别决定了数据存储区中的层次结构。通常,您应该使用单级数据存储区或双级数据存储区。仅支持两层。

例如,您可以拥有一个单级数据存储区,其中每个文档都是一个单独的商品。或者,您也可以选择包含商品组和单个商品的双层数据存储区。

文档级类型

文档级类型有两种:

  • 父级。父文档是指 Vertex AI Search

    返回推荐内容和搜索结果。父文档可以是单个文档,也可以是一组类似文档。建议使用此级别类型。

  • 儿童。子文档是相应群组的父文档的版本。 子级只能是单个文档。例如,如果父文档是“示例电视节目”,子文档可以是“第 1 集”和“第 2 集”。此级别类型可能难以配置和维护,因此不建议使用。

数据存储区层次结构简介

在规划数据存储区层次结构时,请确定数据存储区应仅包含父级还是同时包含父级和子级。请务必记住,推荐和搜索只会返回父文档。

例如,仅包含父级的数据存储区可能非常适合有声读物,在这种情况下,建议面板会返回一系列有声读物。另一方面,如果您将电视节目剧集作为父文档上传到仅限父文档的数据存储区,则可能会在同一面板中推荐多个无序的剧集。

电视节目数据存储区可以同时供家长和儿童使用,其中每个父文档代表一部电视节目,子文档代表该电视节目的剧集。这种双层数据存储区可让“推荐”面板显示一系列类似的电视节目。最终用户可以点击某个特定节目,然后选择要观看的剧集。

由于父子层次结构可能难以配置和维护,因此建议使用仅包含父数据的数据存储区。

例如,电视节目数据存储区可以很好地充当仅包含父文档的数据存储区,其中每个父文档代表一部可推荐的电视节目,但不包含各个剧集(因此也不会推荐剧集)。

如果您确定数据存储区需要同时包含父级和子级(即群组和单个商品),但您目前只有单个商品,则需要为群组创建父级。您需要为家长提供的最低信息包括 idtitlecategories。如需了解详情,请参阅文档字段部分。

媒体的 BigQuery 架构

如果您计划从 BigQuery 导入文档,请使用预定义的 BigQuery 架构创建一个格式正确的 BigQuery 表,并加载文档数据,然后再导入文档

[
  {
    "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": []
  }
]

自定义架构

如果您已将数据格式设置为某种架构,则可能决定不使用上述 Google 预定义架构。您可以改用自己的架构,并将架构中的字段映射到媒体键属性。如需在创建数据媒体存储区时映射架构,请使用Google Cloud 控制台。

如果您使用自己的架构,则架构中必须包含可映射到以下五项媒体关键属性的字段:

必需的键属性名称 备注
title

字符串 - 必需

数据库中的文档标题。UTF-8 编码的字符串。不得超过 1000 个字符。

uri

字符串 - 必需

文档的 URI。长度上限为 5000 个字符。

category

字符串 - 必需

文档类别。此属性会重复,以支持属于多个并行类别的文档。使用完整的类别路径可获得更高质量的结果。

如需表示类别的完整路径,请使用 > 符号分隔层次结构。如果 > 是类别名称的一部分,请将其替换为其他字符。

例如:

"categories": [ "sports > highlight" ]

一个文档最多可包含 250 个类别。每个类别都是一个 UTF-8 编码的字符串,长度上限为 5,000 个字符。

media_available_time

日期时间 - 必需

内容可供最终用户使用的时间。此字段用于标识面向最终用户的内容的新鲜度。时间戳应符合 RFC 3339 标准。

例如:

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

如需按可用性进行过滤,请参阅过滤建议过滤可用文档

media_duration

字符串 - 对于业务目标为点击率 (CVR) 或每次会话的观看时长的媒体推荐应用,此参数为必需参数。

媒体内容的时长。时长应编码为字符串。 编码应与 google::protobuf::Duration JSON 字符串编码相同。例如:“5s”“1m”

此字段对于业务目标是尽可能提高转化率 (CVR) 或每位访问者的观看时长的媒体推荐应用非常重要。

此外,还有一些关键属性不是必需的,但为了获得高质量的结果,请尽可能将这些属性映射到您的架构。

这些关键属性如下所示:

键属性名称 备注
description

字符串 - 强烈建议

文档的说明。长度上限为 5000 个字符。

image

对象 - 可选 - 重复

用于封装与图片相关的属性的根键属性。

image_name

字符串 - 可选

图片的名称。长度限制为 128 个字符。

image_uri

字符串 - 可选

图片的 URI。长度上限为 5,000 个字符。

language-code

字符串 - 可选

标题/说明和其他字符串属性的语言。使用 BCP 47 定义的语言标记。

对于文档建议,系统会忽略此字段并自动检测文本语言。文档可以包含不同语言的文本,但复制文档以提供多语言文本可能会导致性能下降。

对于文档搜索,此字段处于使用状态。如果未设置,则默认为“en-US”。 例如,"language_code": "en-US"

media_aggregated_rating

对象 - 可选 - 重复

用于封装 aggregate_rating 相关属性的根键属性。

media_aggregated_rating_count

整数 - 可选

个人评价的数量。应为非负值。

media_aggregated_rating_score

Double - 必需

汇总评分。评分应归一化到 [1, 5] 范围内。

media_aggregated_rating_source

字符串 - 必需

分级来源。例如,imdbrotten_tomatoes。必须是采用 UTF-8 编码的字符串,长度限制为 128 个字符。必须与以下格式匹配: [a-zA-Z0-9][a-zA-Z0-9_]*

media_content_index

整数 - 可选

媒体文档的内容索引。内容索引字段可用于对文档相对于其他文档进行排序。例如,剧集编号可用作内容索引。

内容索引应为非负整数。

例如:"content_index": 0

media_content_rating

字符串 - 可选 - 重复

内容分级,用于基于受众群体的内容建议系统和内容过滤。每个文档最多允许 100 个值,长度限制为 128 个字符。

此标记可用于通过将标记作为 RecommendRequest.filter 的一部分传递来过滤推荐结果。

例如:content_rating: ["PG-13"]

media_country_of_origin

字符串 - 可选

媒体文档的原产国家/地区。长度限制为 128 个字符。

例如:"country_of_origin": "US"

media_expire_time

日期时间 - 可选

内容对最终用户的过期时间。此字段用于标识面向最终用户的内容的新鲜度。时间戳应符合 RFC 3339 标准。

例如:

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

如需从结果中排除已过期的文档,请参阅过滤推荐内容过滤媒体搜索结果

live_event_start_time

日期时间 - 可选

直播活动的开始时间。时间戳应符合 RFC 3339 标准。

例如:

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

live_event_end_time

日期时间 - 可选

直播活动结束的时间。时间戳应符合 RFC 3339 标准。

例如:

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

media_filter_tag

字符串 - 可选 - 重复

文档的过滤标记。每个文档最多允许 250 个值,长度限制为 1000 个字符。否则,系统会返回 INVALID_ARGUMENT 错误。

此标记可用于通过将标记作为 RecommendRequest.filter 的一部分传递来过滤推荐结果。

例如:"filter_tags": [ "filter_tag"]

media_hash_tag

字符串 - 可选 - 重复

文档的 # 标签。每个文档最多允许 100 个值,长度限制为 5000 个字符。

例如:"hash_tags": [ "soccer", "world cup"]

media_in_language

字符串 - 可选 - 重复

媒体内容的语言。使用 BCP 47 定义的语言标记。

例如:"in_languages": [ "en-US"]

media_organization

对象 - 可选 - 重复

用于封装 organization 相关属性的根键属性。

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

media_organization_custom_role

字符串 - 可选

当且仅当 role 设置为 custom-role 时,custom_role 才会设置。必须是采用 UTF-8 编码的字符串,长度限制为 128 个字符。必须与以下格式匹配: [a-zA-Z0-9][a-zA-Z0-9_]*

media_organization_name

字符串 - 必需

组织名称。

media_organization_rank

字符串 - 可选

用于角色排名。例如,对于第一个发布商: role = "publisher", rank = 1

media_organization_role

字符串 - 必需

组织在媒体内容中的角色。

支持的值:director、actor、player、team、league、editor、author、character、contributor、creator、editor、funder、producer、provider、publisher、sponsor、translator、music-by、channel、custom-role

如果 role 未应用任何支持的值,请将 role 设置为 custom-role,并在 custom_role 字段中提供相应值。

media_organization_uri

字符串 - 可选

组织的 URI。

media_person

对象 - 可选 - 重复

用于封装与人员相关的属性的根键属性。

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

media_person_custom_role

字符串 - 可选

当且仅当 role 设置为 custom-role 时,custom_role 才会设置。必须是采用 UTF-8 编码的字符串,长度限制为 128 个字符。必须与以下格式匹配: [a-zA-Z0-9][a-zA-Z0-9_]*

media_person_name

字符串 - 必需

人员的姓名。

media_person_rank

整数 - 可选

用于角色排名。例如,对于第一个演员, role = "actor", rank = 1

media_person_role

字符串 - 必需

媒体内容中人物的角色。

支持的值:director、actor、player、team、league、editor、author、character、contributor、creator、editor、funder、producer、provider、publisher、sponsor、translator、music-by、channel、custom-role

如果 role 未应用任何支持的值,请将 role 设置为 custom-role,并在 custom_role 字段中提供相应值。

media_person_uri

字符串 - 可选

人员的 URI。

media_production_year

整数 - 可选

媒体的制作年份。

media_transcript

字符串 - 可选

媒体文档的转写内容。

media_type

字符串 - 对于电影和电视节目,此字段为必填字段

顶级类别。

支持的类型:movieshowconcerteventlive-eventbroadcasttv-seriesepisodevideo-gameclipvlogaudioaudio-bookmusicalbumarticlesnewsradiopodcastbooksports-game

movieshow 具有特殊含义。它们会以某种方式丰富文档,从而提高排名,并帮助进行影视内容搜索的用户找到他们可能感兴趣的替代内容。

如果您使用的是自己的架构,而不是 Google 预定义的架构,请参阅提供或自动检测架构,了解如何设置自有架构的格式并导入自有架构。