Acerca de los documentos multimedia y los almacenes de datos

En esta página se proporciona información sobre los documentos y los almacenes de datos de contenido multimedia. Si usas recomendaciones o búsquedas de contenido multimedia, consulta los requisitos del esquema de tus documentos y almacenes de datos en esta página antes de subir tus datos.

Información general

Un documento es cualquier elemento que subas a un almacén de datos de aplicaciones de IA. En el caso de los medios, un documento suele contener información de metadatos sobre el contenido multimedia, como vídeos, artículos de noticias, archivos de música o pódcasts. El objeto Document de la API recoge esta información de metadatos.

Tu almacén de datos contiene una colección de documentos que has subido. Cuando creas un almacén de datos, especificas que contendrá documentos multimedia. Los almacenes de datos de contenido multimedia solo se pueden adjuntar a aplicaciones multimedia, no a otros tipos de aplicaciones, como la búsqueda personalizada y las recomendaciones. Los almacenes de datos se representan en la API mediante el recurso DataStore.

La calidad de los datos que subas influye directamente en la calidad de los resultados que proporcionen las aplicaciones multimedia. Por lo general, cuanto más precisa y específica sea la información que proporciones, mayor será la calidad de los resultados.

Los datos que subas al almacén de datos deben tener un formato JSON específico. Los datos organizados en ese esquema deben estar en una tabla de BigQuery, en un archivo o en un conjunto de archivos de Cloud Storage, o en un objeto JSON que se pueda subir directamente mediante la Google Cloud consola.

Esquema predefinido de Google frente a esquema personalizado

Tiene dos opciones para el esquema de datos multimedia:

  • El esquema predefinido de Google. Si aún no ha diseñado un esquema para sus datos multimedia, el esquema predefinido de Google es una buena opción.

  • Tu propio esquema. Si ya tiene los datos con un formato de esquema, puede usar su propio esquema. Para obtener más información, consulta la sección Esquema personalizado que aparece más abajo.

Con cualquiera de las dos opciones, puedes añadir campos al esquema después de la importación inicial de datos. Sin embargo, con el esquema predefinido de Google, en la importación inicial, los nombres y los tipos de los campos de datos deben coincidir exactamente con los de las tablas de Campos del documento.

Propiedades clave

Las propiedades se usan para entrenar los modelos de búsqueda y recomendaciones. Los campos de propiedad representan todos los campos de tu esquema.

Las propiedades clave son un conjunto fijo especial de propiedades del esquema de Google. Las propiedades de clave identifican información importante que se usa para comprender los significados semánticos de los datos.

Si usas un esquema personalizado, asegúrate de asignar tus campos a tantas propiedades clave como sea posible. Para ello, debes usar la consola Google Cloud después de importar los datos. Consulta el artículo Crear un almacén de datos multimedia.

Esquema JSON predefinido de Google para Document

Cuando se usan archivos multimedia, los documentos pueden usar el esquema JSON predefinido de Google para archivos multimedia.

Los documentos se suben con una representación de datos JSON o Struct. Asegúrate de que el documento JSON o Struct se ajusta al siguiente esquema JSON. El esquema JSON usa JSON Schema 2020-12 para la validación. Para obtener más información sobre el esquema JSON, consulta la documentación de las especificaciones del esquema JSON en 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"],
}

Objeto JSON Document de ejemplo

En el siguiente ejemplo se muestra un objeto 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"
}

Campos del documento

En esta sección se enumeran los valores de los campos que debe proporcionar al crear documentos para su almacén de datos. Los valores deben corresponderse con los que se usan en tu base de datos de documentos interna y reflejar con precisión el artículo representado.

Campos del objeto Document

Los siguientes campos son campos de nivel superior del objeto Document. También puede consultar estos campos en la Documentpágina de referencia.

Nombre del campo Notas
name Nombre de recurso completo y único del documento. Obligatorio para todos los métodos Document, excepto create y import. Durante la importación, el nombre se genera automáticamente y no es necesario proporcionarlo manualmente.
id El ID de documento que usa tu base de datos interna. El campo ID debe ser único en todo tu almacén de datos. Se usa el mismo valor cuando registras un evento de usuario y también lo devuelven los métodos recommend y search.
schemaId Obligatorio. El identificador del esquema ubicado en el mismo almacén de datos. Debe definirse como "default_schema", que se crea automáticamente cuando se crea el almacén de datos predeterminado.
parentDocumentId ID del documento principal. En el caso de los documentos de nivel superior (raíz), parent_document_id puede estar vacío o apuntar a sí mismo. En el caso de los documentos secundarios, parent_document_id debe apuntar a un documento raíz válido.

Campos de propiedad

Los siguientes campos se definen mediante el formato de esquema JSON predefinido para multimedia.

Para obtener más información sobre las propiedades JSON, consulta la documentación sobre propiedades de Understanding JSON Schema en json-schema.org.

En la siguiente tabla se definen los campos simples

Nombre del campo Notas
title

Cadena (obligatorio)

Título del documento de tu base de datos. Una cadena codificada en UTF-8. Límite de 1000 caracteres.

categories

Cadena (obligatorio)

Categorías de documentos. Esta propiedad se repite para admitir un documento que pertenece a varias categorías paralelas. Utiliza la ruta de categoría completa para obtener resultados de mayor calidad.

Para representar la ruta completa de una categoría, utilice el símbolo > para separar las jerarquías. Si > forma parte del nombre de la categoría, sustitúyelo por otro carácter u otros caracteres.

Por ejemplo:

"categories": [ "sports > highlight" ]

Un documento puede contener 250 categorías como máximo. Cada categoría es una cadena codificada en UTF-8 con un límite de 5000 caracteres.

uri

Cadena (obligatorio)

URI del documento. Límite de 5000 caracteres.

description

Cadena (muy recomendable)

Descripción del documento. Límite de 5000 caracteres.

media_type

Cadena: este campo es obligatorio para las películas y las series.

Categoría de nivel superior.

Tipos admitidos: movie, show, concert, event, live-event, broadcast, tv-series, episode, video-game, clip, vlog, audio, audio-book, music, album, articles, news, radio, podcast, book y sports-game.

Los valores movie y show tienen un significado especial. Esto hace que los documentos se enriquezcan de forma que se mejore su posicionamiento y se ayude a los usuarios que buscan títulos a encontrar contenido alternativo que les pueda interesar.

language_code

Cadena (opcional)

Idioma del título, la descripción y otros atributos de cadena. Usa etiquetas de idioma definidas por BCP 47.

Este campo se usa para la búsqueda de documentos. Si no se define, el valor predeterminado es "en-US". Por ejemplo, "language_code": "en-US".

duration

Cadena: es obligatorio para las aplicaciones de recomendaciones de contenido multimedia en las que el objetivo de negocio es la tasa de clics (CTR) o la duración de la visualización por sesión.

Duración del contenido multimedia. La duración debe codificarse como una cadena. La codificación debe ser la misma que la de la cadena JSON google::protobuf::Duration. Por ejemplo: "5s", "1m"

available_time

Fecha y hora (obligatorio)

El tiempo durante el que el contenido está disponible para los usuarios finales. Este campo identifica la actualización del contenido para los usuarios finales. La marca de tiempo debe cumplir el estándar RFC 3339.

Por ejemplo:

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

Para filtrar por disponibilidad, consulte Filtrar recomendaciones y Filtrar por documentos disponibles.

expire_time

Fecha y hora (opcional)

La hora en la que caducará el contenido para los usuarios finales. Este campo identifica la actualización del contenido para los usuarios finales. La marca de tiempo debe cumplir el estándar RFC 3339.

Por ejemplo:

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

Para excluir los documentos caducados de los resultados, consulta Filtrar recomendaciones y Filtrar búsquedas de contenido multimedia.

live_event_start_time

Fecha y hora (opcional)

La hora a la que empieza el evento en directo. La marca de tiempo debe cumplir el estándar RFC 3339.

Por ejemplo:

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

live_event_end_time

Fecha y hora (opcional)

La hora en la que finaliza el evento en directo. La marca de tiempo debe cumplir el estándar RFC 3339.

Por ejemplo:

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

in_languages

Cadena (opcional y repetida)

Idioma del contenido multimedia. Usa etiquetas de idioma definidas por BCP 47.

Por ejemplo: "in_languages": [ "en-US"]

country_of_origin

Cadena (opcional)

País de origen del documento multimedia. Límite de 128 caracteres.

Por ejemplo: "country_of_origin": "US"

transcript

Cadena (opcional)

Transcripción del documento multimedia.

content_index

Número entero (opcional)

Índice de contenido del documento multimedia. El campo de índice de contenido se puede usar para ordenar los documentos en relación con otros. Por ejemplo, el número de episodio se puede usar como índice de contenido.

El índice de contenido debe ser un número entero no negativo.

Por ejemplo: "content_index": 0

filter_tags

Cadena (opcional y repetida)

Filtra las etiquetas del documento. Se permiten 250 valores como máximo por documento con un límite de longitud de 1000 caracteres. De lo contrario, se devuelve un error INVALID_ARGUMENT.

Estas etiquetas se pueden usar para filtrar los resultados de búsqueda y las recomendaciones. Para filtrar los resultados de las recomendaciones, pasa las etiquetas como parte de la RecommendRequest.filter. Las etiquetas solo se usan para filtrar los resultados devueltos. Los valores de las etiquetas no afectan a los resultados que devuelven los modelos de búsqueda y recomendaciones.

Por ejemplo: "filter_tags": [ "grade_level", "season"]

hash_tags

Cadena (opcional y repetida)

Hashtags del documento. Se permiten 100 valores como máximo por documento, con un límite de longitud de 5000 caracteres.

Por ejemplo: "hash_tags": [ "soccer", "world cup"]

production_year

Número entero (opcional)

El año en el que se produjo el contenido multimedia.

content_rating

Cadena (opcional y repetida)

La clasificación del contenido, que se usa en los sistemas de asesoramiento y en el filtrado de contenido en función de la audiencia. Se permiten 100 valores como máximo por documento, con un límite de 128 caracteres.

Esta etiqueta se puede usar para filtrar los resultados de las recomendaciones. Para ello, debe incluir la etiqueta como parte del RecommendRequest.filter.

Por ejemplo: content_rating: ["PG-13"]

En la siguiente tabla se definen los campos jerárquicos.

Nombre del campo Notas
images

Objeto (opcional y repetido)

Propiedad de clave raíz para encapsular propiedades relacionadas con las imágenes.

images.uri

Cadena (opcional)

URI de la imagen. Límite de 5000 caracteres.

images.name

Cadena (opcional)

Nombre de la imagen. Límite de 128 caracteres.

persons

Objeto (opcional y repetido)

Propiedad de clave raíz para encapsular las propiedades relacionadas con la persona.

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

persons.name

Cadena (obligatorio)

Nombre de la persona.

persons.role

Cadena (obligatorio)

El rol de la persona en el elemento multimedia.

Valores admitidos: director, actor, jugador, equipo, liga, editor, autor, personaje, colaborador, creador, editor, financiador, productor, proveedor, editor, patrocinador, traductor, música de, canal, rol personalizado

Si no se aplica ninguno de los valores admitidos a role, asigne el valor custom-role a role e indique el valor en el campo custom_role.

persons.custom_role

Cadena (opcional)

custom_role se define si y solo si role se define como custom-role. Debe ser una cadena codificada en UTF-8 con una longitud máxima de 128 caracteres. Debe coincidir con el patrón: [a-zA-Z0-9][a-zA-Z0-9_]*.

persons.rank

Número entero (opcional)

Se usa para clasificar los roles. Por ejemplo, para el primer actor, role = "actor", rank = 1

persons.uri

Cadena (opcional)

URI de la persona.

organizations

Objeto (opcional y repetido)

Propiedad de clave raíz para encapsular las propiedades relacionadas con organization. .

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

organizations.name

Cadena (obligatorio)

Nombre de la organización.

organizations.role

Cadena (obligatorio)

El rol de la organización en el elemento multimedia.

Valores admitidos: director, actor, jugador, equipo, liga, editor, autor, personaje, colaborador, creador, editor, financiador, productor, proveedor, editor, patrocinador, traductor, música de, canal, rol personalizado

Si no se aplica ninguno de los valores admitidos a role, asigne el valor custom-role a role e indique el valor en el campo custom_role.

organizations.custom_role

Cadena (opcional)

custom_role se define si y solo si role se define como custom-role. Debe ser una cadena codificada en UTF-8 con una longitud máxima de 128 caracteres. Debe coincidir con el patrón: [a-zA-Z0-9][a-zA-Z0-9_]*.

organizations.rank

Cadena (opcional)

Se usa para clasificar los roles. Por ejemplo, para el primer editor: role = "publisher", rank = 1

organizations.uri

Cadena (opcional)

URI de la organización.

aggregate_ratings

Objeto (opcional y repetido)

Propiedad de clave raíz para encapsular las propiedades relacionadas con aggregate_rating.

aggregate_ratings.rating_source

Cadena (obligatorio)

La fuente de la clasificación. Por ejemplo, imdb o rotten_tomatoes. Debe ser una cadena codificada en UTF-8 con una longitud máxima de 128 caracteres. Debe coincidir con el patrón: [a-zA-Z0-9][a-zA-Z0-9_]*.

aggregate_ratings.rating_score

Doble (obligatorio)

La valoración agregada. La valoración debe normalizarse en el intervalo [1, 5].

aggregate_ratings.rating_count

Número entero (opcional)

Número de reseñas individuales. Debe ser un valor no negativo.

Niveles de documentos

Los niveles de documento determinan la jerarquía de su almacén de datos. Normalmente, debería tener un almacén de datos de un nivel o de dos niveles. Solo se admiten dos capas.

Por ejemplo, puede tener un almacén de datos de un solo nivel en el que cada documento sea un elemento individual. También puedes elegir un almacén de datos de dos niveles que contenga tanto grupos de elementos como elementos individuales.

Tipos de nivel de documento

Hay dos tipos de niveles de documento:

  • Padre o madre. Los documentos principales son lo que Vertex AI Search

    Devoluciones en recomendaciones y búsquedas. Los padres pueden ser documentos individuales o grupos de documentos similares. Se recomienda este tipo de nivel.

  • Niño/a. Los documentos secundarios son versiones del documento principal de un grupo. Los elementos secundarios solo pueden ser documentos individuales. Por ejemplo, si el documento principal es "Example TV Show", los documentos secundarios podrían ser "Episode 1" y "Episode 2". Este tipo de nivel puede ser difícil de configurar y mantener, por lo que no se recomienda.

Acerca de la jerarquía del almacén de datos

Cuando planifiques la jerarquía del almacén de datos, decide si debe contener solo elementos principales o elementos principales y secundarios. Lo más importante que debes recordar es que las recomendaciones y las búsquedas solo devuelven documentos principales.

Por ejemplo, un almacén de datos solo para padres podría funcionar bien con audiolibros, donde un panel de recomendaciones devuelve una selección de audiolibros individuales. Por otro lado, si has subido episodios de una serie de televisión como documentos principales a un almacén de datos que solo contiene elementos principales, se podrían recomendar varios episodios desordenados en el mismo panel.

Un almacén de datos de series de televisión podría funcionar tanto con padres como con hijos, donde cada documento padre representa una serie de televisión con documentos hijo que representan los episodios de esa serie. Este almacén de datos de dos niveles permite que el panel de recomendaciones muestre una serie de programas de televisión similares. El usuario final puede hacer clic en una serie concreta para seleccionar un episodio.

Como las jerarquías de elementos principales y secundarios pueden ser difíciles de configurar y mantener, se recomienda usar almacenes de datos que solo contengan elementos principales.

Por ejemplo, un almacén de datos de una serie de televisión puede funcionar bien como almacén de datos solo para elementos principales, donde cada documento principal representa una serie de televisión que se puede recomendar y no se incluyen episodios individuales (y, por lo tanto, no se recomiendan).

Si determina que su almacén de datos debe tener elementos principales y secundarios (es decir, grupos y elementos individuales), pero solo tiene elementos individuales, debe crear elementos principales para los grupos. La información mínima que debes proporcionar a los padres es id, title y categories. Para obtener más información, consulta la sección Campos de documento.

Esquema de BigQuery para contenido multimedia

Si tienes previsto importar tus documentos desde BigQuery, usa el esquema de BigQuery predefinido para crear una tabla de BigQuery con el formato correcto y cárgala con los datos de tus documentos antes de importar tus documentos.

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

Esquema personalizado

Si ya tiene sus datos con un formato de esquema, puede que decida no usar el esquema predefinido de Google descrito anteriormente. En su lugar, puede usar su propio esquema y asignar campos de su esquema a propiedades de clave multimedia. Para asignar tu esquema al crear el almacén de medios de datos, usa laGoogle Cloud consola.

Si usas tu propio esquema, debes incluir campos que se puedan asignar a las cinco propiedades clave siguientes de los medios:

Nombre de la propiedad de clave obligatoria Notas
title

Cadena (obligatorio)

Título del documento de tu base de datos. Una cadena codificada en UTF-8. Límite de 1000 caracteres.

uri

Cadena (obligatorio)

URI del documento. Límite de 5000 caracteres.

category

Cadena (obligatorio)

Categorías de documentos. Esta propiedad se repite para admitir un documento que pertenece a varias categorías paralelas. Utiliza la ruta de categoría completa para obtener resultados de mayor calidad.

Para representar la ruta completa de una categoría, utilice el símbolo > para separar las jerarquías. Si > forma parte del nombre de la categoría, sustitúyelo por otro carácter u otros caracteres.

Por ejemplo:

"categories": [ "sports > highlight" ]

Un documento puede contener 250 categorías como máximo. Cada categoría es una cadena codificada en UTF-8 con un límite de 5000 caracteres.

media_available_time

Fecha y hora (obligatorio)

El tiempo durante el que el contenido está disponible para los usuarios finales. Este campo identifica la actualización del contenido para los usuarios finales. La marca de tiempo debe cumplir el estándar RFC 3339.

Por ejemplo:

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

Para filtrar por disponibilidad, consulte Filtrar recomendaciones y Filtrar por documentos disponibles.

media_duration

Cadena: es obligatorio para las aplicaciones de recomendaciones de contenido multimedia en las que el objetivo de negocio es la tasa de clics (CTR) o la duración de la visualización por sesión.

Duración del contenido multimedia. La duración debe codificarse como una cadena. La codificación debe ser la misma que la de la cadena JSON google::protobuf::Duration. Por ejemplo: "5s", "1m"

Este campo es importante para las aplicaciones de recomendaciones de contenido multimedia en las que el objetivo de negocio es maximizar la tasa de conversión o la duración de la visualización por visitante.

Además, hay propiedades clave que no son obligatorias, pero, para obtener resultados de calidad, te recomendamos que asignes tantas como puedas a tu esquema.

Estas propiedades clave son las siguientes:

Nombre de la propiedad de clave Notas
description

Cadena (muy recomendable)

Descripción del documento. Límite de 5000 caracteres.

image

Objeto (opcional y repetido)

Propiedad de clave raíz para encapsular propiedades relacionadas con las imágenes.

image_name

Cadena (opcional)

Nombre de la imagen. Límite de 128 caracteres.

image_uri

Cadena (opcional)

URI de la imagen. Límite de 5000 caracteres.

language-code

Cadena (opcional)

Idioma del título, la descripción y otros atributos de cadena. Usa etiquetas de idioma definidas por BCP 47.

En el caso de las recomendaciones de documentos, este campo se ignora y el idioma del texto se detecta automáticamente. El documento puede incluir texto en diferentes idiomas, pero duplicar documentos para proporcionar texto en varios idiomas puede reducir el rendimiento.

Este campo se usa para la búsqueda de documentos. Si no se define, el valor predeterminado es "en-US". Por ejemplo, "language_code": "en-US"

media_aggregated_rating

Objeto (opcional y repetido)

Propiedad de clave raíz para encapsular las propiedades relacionadas con aggregate_rating.

media_aggregated_rating_count

Número entero (opcional)

Número de reseñas individuales. Debe ser un valor no negativo.

media_aggregated_rating_score

Doble (obligatorio)

La valoración agregada. La valoración debe normalizarse en el intervalo [1, 5].

media_aggregated_rating_source

Cadena (obligatorio)

La fuente de la clasificación. Por ejemplo, imdb o rotten_tomatoes. Debe ser una cadena codificada en UTF-8 con una longitud máxima de 128 caracteres. Debe coincidir con el patrón: [a-zA-Z0-9][a-zA-Z0-9_]*.

media_content_index

Número entero (opcional)

Índice de contenido del documento multimedia. El campo de índice de contenido se puede usar para ordenar los documentos en relación con otros. Por ejemplo, el número de episodio se puede usar como índice de contenido.

El índice de contenido debe ser un número entero no negativo.

Por ejemplo: "content_index": 0

media_content_rating

Cadena (opcional y repetida)

La clasificación del contenido, que se usa en los sistemas de asesoramiento y en el filtrado de contenido en función de la audiencia. Se permiten 100 valores como máximo por documento, con un límite de 128 caracteres.

Esta etiqueta se puede usar para filtrar los resultados de las recomendaciones. Para ello, debe incluir la etiqueta como parte del RecommendRequest.filter.

Por ejemplo: content_rating: ["PG-13"]

media_country_of_origin

Cadena (opcional)

País de origen del documento multimedia. Límite de 128 caracteres.

Por ejemplo: "country_of_origin": "US"

media_expire_time

Fecha y hora (opcional)

La hora en la que caducará el contenido para los usuarios finales. Este campo identifica la actualización del contenido para los usuarios finales. La marca de tiempo debe cumplir el estándar RFC 3339.

Por ejemplo:

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

Para excluir los documentos caducados de los resultados, consulta Filtrar recomendaciones y Filtrar búsquedas de contenido multimedia.

live_event_start_time

Fecha y hora (opcional)

La hora a la que empieza el evento en directo. La marca de tiempo debe cumplir el estándar RFC 3339.

Por ejemplo:

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

live_event_end_time

Fecha y hora (opcional)

La hora en la que finaliza el evento en directo. La marca de tiempo debe cumplir el estándar RFC 3339.

Por ejemplo:

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

media_filter_tag

Cadena (opcional y repetida)

Filtra las etiquetas del documento. Se permiten 250 valores como máximo por documento con un límite de longitud de 1000 caracteres. De lo contrario, se devuelve un error INVALID_ARGUMENT.

Esta etiqueta se puede usar para filtrar los resultados de las recomendaciones. Para ello, debe incluir la etiqueta como parte del RecommendRequest.filter.

Por ejemplo: "filter_tags": [ "filter_tag"]

media_hash_tag

Cadena (opcional y repetida)

Hashtags del documento. Se permiten 100 valores como máximo por documento, con un límite de longitud de 5000 caracteres.

Por ejemplo: "hash_tags": [ "soccer", "world cup"]

media_in_language

Cadena (opcional y repetida)

Idioma del contenido multimedia. Usa etiquetas de idioma definidas por BCP 47.

Por ejemplo: "in_languages": [ "en-US"]

media_organization

Objeto (opcional y repetido)

Propiedad de clave raíz para encapsular las propiedades relacionadas con organization. .

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

media_organization_custom_role

Cadena (opcional)

custom_role se define si y solo si role se define como custom-role. Debe ser una cadena codificada en UTF-8 con una longitud máxima de 128 caracteres. Debe coincidir con el patrón: [a-zA-Z0-9][a-zA-Z0-9_]*.

media_organization_name

Cadena (obligatorio)

Nombre de la organización.

media_organization_rank

Cadena (opcional)

Se usa para clasificar los roles. Por ejemplo, para el primer editor: role = "publisher", rank = 1.

media_organization_role

Cadena (obligatorio)

El rol de la organización en el elemento multimedia.

Valores admitidos: director, actor, jugador, equipo, liga, editor, autor, personaje, colaborador, creador, editor, financiador, productor, proveedor, editor, patrocinador, traductor, música de, canal, rol personalizado

Si no se aplica ninguno de los valores admitidos a role, asigne el valor custom-role a role e indique el valor en el campo custom_role.

media_organization_uri

Cadena (opcional)

URI de la organización.

media_person

Objeto (opcional y repetido)

Propiedad de clave raíz para encapsular las propiedades relacionadas con la persona.

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

media_person_custom_role

Cadena (opcional)

custom_role se define si y solo si role se define como custom-role. Debe ser una cadena codificada en UTF-8 con una longitud máxima de 128 caracteres. Debe coincidir con el patrón: [a-zA-Z0-9][a-zA-Z0-9_]*.

media_person_name

Cadena (obligatorio)

Nombre de la persona.

media_person_rank

Número entero (opcional)

Se usa para clasificar los roles. Por ejemplo, para el primer actor, role = "actor", rank = 1

media_person_role

Cadena (obligatorio)

El rol de la persona en el elemento multimedia.

Valores admitidos: director, actor, jugador, equipo, liga, editor, autor, personaje, colaborador, creador, editor, financiador, productor, proveedor, editor, patrocinador, traductor, música de, canal, rol personalizado

Si no se aplica ninguno de los valores admitidos a role, asigne el valor custom-role a role e indique el valor en el campo custom_role.

media_person_uri

Cadena (opcional)

URI de la persona.

media_production_year

Número entero (opcional)

El año en el que se produjo el contenido multimedia.

media_transcript

Cadena (opcional)

Transcripción del documento multimedia.

media_type

Cadena: este campo es obligatorio para las películas y las series.

Categoría de nivel superior.

Tipos admitidos: movie, show, concert, event, live-event, broadcast, tv-series, episode, video-game, clip, vlog, audio, audio-book, music, album, articles, news, radio, podcast, book y sports-game.

Los valores movie y show tienen un significado especial. Esto hace que los documentos se enriquezcan de forma que se mejore su posicionamiento y se ayude a los usuarios que buscan títulos a encontrar contenido alternativo que les pueda interesar.

Si usas tu propio esquema en lugar del esquema predefinido de Google, consulta el artículo Proporcionar o detectar automáticamente un esquema para obtener información sobre cómo dar formato e importar tu propio esquema.