Acerca dos documentos multimédia e das bases de dados

Esta página fornece informações sobre documentos e armazenamentos de dados para conteúdo multimédia. Se estiver a usar recomendações de multimédia ou pesquisa de multimédia, reveja os requisitos de esquema para os seus documentos e repositórios de dados nesta página antes de carregar os dados.

Vista geral

Um documento é qualquer item que carregue num arquivo de dados das Aplicações de IA. Para conteúdo multimédia, um documento contém normalmente informações de metadados sobre conteúdo multimédia, como vídeos, artigos de notícias, ficheiros de música ou podcasts. O objeto Document na API captura estas informações de metadados.

O seu arquivo de dados contém uma coleção de documentos que carregou. Quando cria um arquivo de dados, especifica que vai conter documentos multimédia. Os arquivos de dados para conteúdo multimédia só podem ser anexados a apps de multimédia e não a outros tipos de apps, como a pesquisa personalizada e as recomendações. Os armazenamentos de dados são representados na API pelo recurso DataStore.

A qualidade dos dados que carrega tem um efeito direto na qualidade dos resultados fornecidos pelas apps de multimédia. Em geral, quanto mais precisas e específicas forem as informações que fornecer, maior é a qualidade dos resultados.

Os dados que carrega para o repositório de dados têm de estar formatados num esquema JSON específico. Os dados organizados nesse esquema têm de estar numa tabela do BigQuery, num ficheiro ou num conjunto de ficheiros no Cloud Storage, ou num objeto JSON que pode ser carregado diretamente através da Google Cloud consola.

Esquema predefinido da Google versus esquema personalizado

Tem duas opções para o esquema de dados de multimédia:

  • O esquema predefinido da Google. Se ainda não tiver criado um esquema para os seus dados de multimédia, o esquema predefinido da Google é uma boa escolha.

  • O seu próprio esquema. Se já tiver os dados formatados num esquema, pode usar o seu próprio esquema. Para mais informações, consulte o esquema personalizado abaixo.

Com qualquer uma das opções, pode adicionar campos ao esquema após a importação inicial de dados. No entanto, com o esquema predefinido da Google, para a importação inicial, os nomes e os tipos dos campos de dados têm de corresponder exatamente aos das tabelas Campos de documentos.

Propriedades principais

As propriedades são usadas para preparar os modelos de pesquisa e recomendações. Os campos de propriedades representam todos os campos no seu esquema.

As propriedades principais são um conjunto fixo especial de propriedades no esquema da Google. As propriedades principais identificam informações importantes que são usadas para compreender os significados semânticos dos dados.

Se usar um esquema personalizado, certifique-se de que mapeia os seus campos para o maior número possível de propriedades principais. Faz o mapeamento na Google Cloud consola depois de importar os dados. Consulte o artigo Crie um arquivo de dados multimédia.

Esquema JSON predefinido da Google para Document

Quando usam multimédia, os documentos podem usar o esquema JSON predefinido da Google para multimédia.

Os documentos são carregados com uma representação de dados JSON ou Struct. Certifique-se de que o documento JSON ou Struct está em conformidade com o seguinte esquema JSON. O esquema JSON usa o esquema JSON 2020-12 para validação. Para saber mais sobre o esquema JSON, consulte também a documentação de especificação do esquema JSON em 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 exemplo

O exemplo seguinte mostra um exemplo de um 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 de documentos

Esta secção apresenta os valores dos campos que fornece quando cria documentos para o seu repositório de dados. Os valores devem corresponder aos valores usados na base de dados de documentos interna e devem refletir com precisão o artigo representado.

Document campos de objetos

Os seguintes campos são campos de nível superior para o objeto Document. Consulte também estes campos na Documentpágina de referência.

Nome do campo Notas
name O nome do recurso completo e exclusivo do documento. Obrigatório para todos os métodos Document, exceto para create e import. Durante a importação, o nome é gerado automaticamente e não tem de ser fornecido manualmente.
id O ID do documento usado pela sua base de dados interna. O campo ID tem de ser exclusivo em todo o seu repositório de dados. O mesmo valor é usado quando regista um evento do utilizador e também é devolvido pelos métodos recommend e search.
schemaId Obrigatório. O identificador do esquema localizado no mesmo repositório de dados. Deve ser definido como "default_schema", que é criado automaticamente quando o repositório de dados predefinido é criado.
parentDocumentId O ID do documento principal. Para documentos de nível superior (raiz), parent_document_id pode estar vazio ou apontar para si próprio. Para os documentos de criança, parent_document_id deve apontar para um documento raiz válido.

Campos de propriedades

Os campos seguintes são definidos através do formato de esquema JSON predefinido para multimédia.

Para mais informações sobre as propriedades JSON, consulte a documentação Compreender o esquema JSON para propriedades em json-schema.org.

A tabela seguinte define os campos simples

Nome do campo Notas
title

String – obrigatório

Título do documento da sua base de dados. Uma string codificada em UTF-8. Limitado a 1000 carateres.

categories

String – obrigatório

Categorias de documentos. Esta propriedade é repetida para suportar um documento pertencente a várias categorias paralelas. Use o caminho completo da categoria para obter resultados de maior qualidade.

Para representar o caminho completo de uma categoria, use o símbolo > para separar hierarquias. Se > fizer parte do nome da categoria, substitua-o por outros carateres.

Por exemplo:

"categories": [ "sports > highlight" ]

Um documento pode conter, no máximo, 250 categorias. Cada categoria é uma string codificada em UTF-8 com um limite de comprimento de 5000 carateres.

uri

String – obrigatório

URI do documento. Limite de comprimento de 5000 carateres.

description

String: altamente recomendado

Descrição do documento. Limite de comprimento de 5000 carateres.

media_type

String: este campo é obrigatório para filmes e programas

Categoria de nível superior.

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

Os valores movie e show têm um significado especial. Enriquecem os documentos de uma forma que melhora a classificação e ajuda os utilizadores que pesquisam títulos a encontrar conteúdo alternativo que possa ser do seu interesse.

language_code

String – opcional

Idioma do título/descrição e outros atributos de texto. Use etiquetas de idioma definidas por BCP 47.

Para a pesquisa de documentos, este campo está a ser usado. A predefinição é "en-US" se não estiver definida. Por exemplo, "language_code": "en-US".

duration

String: obrigatório para apps de recomendações de multimédia em que o objetivo da empresa é a taxa de cliques (CVR) ou a duração da visualização por sessão.

Duração do conteúdo multimédia. A duração deve ser codificada como uma string. A codificação deve ser igual à codificação da string JSON.google::protobuf::Duration Por exemplo: "5s", "1m"

available_time

Data/hora – obrigatório

O tempo durante o qual o conteúdo está disponível para os utilizadores finais. Este campo identifica a atualidade de um conteúdo para os utilizadores finais. A data/hora deve estar em conformidade com a norma RFC 3339.

Por exemplo:

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

Para filtrar por disponibilidade, consulte os artigos Filtrar recomendações e Filtrar por documentos disponíveis.

expire_time

Data/hora: opcional

O tempo em que o conteúdo expira para os utilizadores finais. Este campo identifica a atualidade de um conteúdo para os utilizadores finais. A data/hora deve estar em conformidade com a norma RFC 3339.

Por exemplo:

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

Para excluir documentos expirados dos resultados, consulte os artigos Filtrar recomendações e Filtrar pesquisa de multimédia.

live_event_start_time

Data/hora: opcional

A hora de início do evento em direto. A data/hora deve estar em conformidade com a norma RFC 3339.

Por exemplo:

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

live_event_end_time

Data/hora: opcional

A hora em que o evento em direto termina. A data/hora deve estar em conformidade com a norma RFC 3339.

Por exemplo:

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

in_languages

String – opcional – repetida

Idioma dos conteúdos multimédia. Use etiquetas de idioma definidas pela norma BCP 47.

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

country_of_origin

String – opcional

País de origem do documento de conteúdo multimédia. Limite de comprimento de 128 carateres.

Por exemplo: "country_of_origin": "US"

transcript

String – opcional

Transcrição do documento multimédia.

content_index

Número inteiro – opcional

Índice de conteúdo do documento multimédia. O campo de índice de conteúdo pode ser usado para ordenar os documentos relativamente a outros. Por exemplo, o número do episódio pode ser usado como o índice de conteúdo.

O índice de conteúdo tem de ser um número inteiro não negativo.

Por exemplo: "content_index": 0

filter_tags

String – opcional – repetida

Filtre as etiquetas do documento. São permitidos, no máximo, 250 valores por documento com um limite de comprimento de 1000 carateres. Caso contrário, é devolvido um erro INVALID_ARGUMENT.

Estas etiquetas podem ser usadas para filtrar os resultados da pesquisa e as recomendações. Para filtrar os resultados das recomendações, transmita as etiquetas como parte do elemento RecommendRequest.filter. As etiquetas são usadas apenas para filtrar os resultados devolvidos. Os valores das etiquetas não afetam os resultados devolvidos pelos modelos de pesquisa e recomendações.

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

hash_tags

String – opcional – repetida

Hashtags para o documento. São permitidos, no máximo, 100 valores por documento, com um limite de comprimento de 5000 carateres.

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

production_year

Número inteiro – opcional

O ano em que o conteúdo multimédia foi produzido.

content_rating

String – opcional – repetida

A classificação de conteúdo, usada para sistemas de aviso de conteúdo e filtragem de conteúdo com base no público. São permitidos, no máximo, 100 valores por documento com um limite de comprimento de 128 carateres.

Esta etiqueta pode ser usada para filtrar os resultados das recomendações transmitindo a etiqueta como parte do RecommendRequest.filter.

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

A tabela seguinte define os campos hierárquicos.

Nome do campo Notas
images

Objeto: opcional: repetido

Propriedade de chave raiz para encapsular propriedades relacionadas com imagens.

images.uri

String – opcional

URI da imagem. Limite de comprimento de 5000 carateres.

images.name

String – opcional

Nome da imagem. Limite de comprimento de 128 carateres.

persons

Objeto: opcional: repetido

Propriedade de chave raiz para encapsular as propriedades relacionadas com pessoas.

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

persons.name

String – obrigatório

Nome da pessoa.

persons.role

String – obrigatório

A função da pessoa no item multimédia.

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

Se nenhum dos valores suportados for aplicado a role, defina role como custom-role e indique o valor no campo custom_role.

persons.custom_role

String – opcional

custom_role é definido se e apenas se role estiver definido como custom-role. Tem de ser uma string codificada em UTF-8 com um limite de 128 carateres. Tem de corresponder ao padrão: [a-zA-Z0-9][a-zA-Z0-9_]*.

persons.rank

Número inteiro – opcional

Usado para a classificação de funções. Por exemplo, para o primeiro ator: role = "actor", rank = 1

persons.uri

String – opcional

URI da pessoa.

organizations

Objeto: opcional: repetido

Propriedade de chave raiz para encapsular as propriedades relacionadas com organization.

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

organizations.name

String – obrigatório

Nome da organização.

organizations.role

String – obrigatório

A função da organização no item multimédia.

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

Se nenhum dos valores suportados for aplicado a role, defina role como custom-role e indique o valor no campo custom_role.

organizations.custom_role

String – opcional

custom_role é definido se e apenas se role estiver definido como custom-role. Tem de ser uma string codificada em UTF-8 com um limite de 128 carateres. Tem de corresponder ao padrão: [a-zA-Z0-9][a-zA-Z0-9_]*.

organizations.rank

String – opcional

Usado para a classificação de funções. Por exemplo, para o primeiro publicador: role = "publisher", rank = 1

organizations.uri

String – opcional

URI da organização.

aggregate_ratings

Objeto: opcional: repetido

Propriedade de chave raiz para encapsular as propriedades relacionadas com aggregate_rating.

aggregate_ratings.rating_source

String – obrigatório

A origem da classificação. Por exemplo, imdb ou rotten_tomatoes. Tem de ser uma string codificada em UTF-8 com um limite de 128 carateres. Tem de corresponder ao padrão: [a-zA-Z0-9][a-zA-Z0-9_]*.

aggregate_ratings.rating_score

Duplo – obrigatório

A classificação agregada. A classificação deve ser normalizada para o intervalo [1, 5].

aggregate_ratings.rating_count

Número inteiro – opcional

O número de críticas individuais. Deve ser um valor não negativo.

Níveis de documentos

Os níveis de documentos determinam a hierarquia no seu repositório de dados. Normalmente, deve ter um arquivo de dados de nível único ou um arquivo de dados de dois níveis. Apenas são suportadas duas camadas.

Por exemplo, pode ter um arquivo de dados de nível único em que cada documento é um item individual. Em alternativa, pode escolher um arquivo de dados de dois níveis que contenha grupos de artigos e artigos individuais.

Tipos ao nível do documento

Existem dois tipos ao nível do documento:

  • Anunciante. Os documentos principais são o que o Vertex AI Search

    Devoluções em recomendações e pesquisas. Os documentos principais podem ser documentos individuais ou grupos de documentos semelhantes. Este tipo de nível é recomendado.

  • Criança. Os documentos secundários são versões do documento principal de um grupo. As crianças só podem ser documentos individuais. Por exemplo, se o documento principal for "Programa de TV de exemplo", os elementos secundários podem ser "Episódio 1" e "Episódio 2". Este tipo de nível pode ser difícil de configurar e manter, e não é recomendado.

Acerca da hierarquia do repositório de dados

Ao planear a hierarquia do seu arquivo de dados, decida se o arquivo de dados deve conter apenas pais ou pais e filhos. O ponto principal a ter em atenção é que as recomendações e as pesquisas só devolvem documentos principais.

Por exemplo, um arquivo de dados apenas principal pode funcionar bem para audiolivros, em que um painel de recomendações devolve uma seleção de audiolivros individuais. Por outro lado, se carregou episódios de programas de TV como documentos principais para um arquivo de dados apenas principal, podem ser recomendados vários episódios fora de ordem no mesmo painel.

Uma base de dados de programas de TV pode funcionar com pais e filhos, em que cada documento principal representa um programa de TV com documentos secundários que representam os episódios desse programa de TV. Este arquivo de dados de dois níveis permite que o painel de recomendações mostre uma variedade de programas de TV semelhantes. O utilizador final pode clicar num programa específico para selecionar um episódio para ver.

Uma vez que as hierarquias principal/secundário podem ser difíceis de configurar e manter, recomendamos os arquivos de dados apenas principais.

Por exemplo, um arquivo de dados de programas de TV pode funcionar bem como um arquivo de dados apenas principal, onde cada documento principal representa um programa de TV que pode ser recomendado, e os episódios individuais não estão incluídos (e, por isso, não são recomendados).

Se determinar que o seu repositório de dados tem de ter pais e filhos, ou seja, grupos e itens individuais, mas só tem itens individuais agora, tem de criar pais para os grupos. As informações mínimas que tem de fornecer para um dos pais são id, title e categories. Para mais informações, consulte a secção Campos de documentos.

Esquema do BigQuery para multimédia

Se planeia importar os seus documentos do BigQuery, use o esquema predefinido do BigQuery para criar uma tabela do BigQuery com o formato correto e carregue-a com os dados dos seus documentos antes de importar os 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

Se já tiver os dados formatados num esquema, pode optar por não usar o esquema predefinido da Google descrito acima. Em alternativa, pode usar o seu próprio esquema e mapear os campos do seu esquema para as propriedades da chave de multimédia. Para mapear o seu esquema quando criar o arquivo multimédia de dados, use aGoogle Cloud consola.

Se usar o seu próprio esquema, tem de ter campos no esquema que possam ser mapeados para as seguintes cinco propriedades principais para multimédia:

Nome da propriedade da chave obrigatório Notas
title

String – obrigatório

Título do documento da sua base de dados. Uma string codificada em UTF-8. Limitado a 1000 carateres.

uri

String – obrigatório

URI do documento. Limite de comprimento de 5000 carateres.

category

String – obrigatório

Categorias de documentos. Esta propriedade é repetida para suportar um documento pertencente a várias categorias paralelas. Use o caminho completo da categoria para obter resultados de maior qualidade.

Para representar o caminho completo de uma categoria, use o símbolo > para separar hierarquias. Se > fizer parte do nome da categoria, substitua-o por outros carateres.

Por exemplo:

"categories": [ "sports > highlight" ]

Um documento pode conter, no máximo, 250 categorias. Cada categoria é uma string codificada em UTF-8 com um limite de comprimento de 5000 carateres.

media_available_time

Data/hora – obrigatório

O tempo durante o qual o conteúdo está disponível para os utilizadores finais. Este campo identifica a atualidade de um conteúdo para os utilizadores finais. A data/hora deve estar em conformidade com a norma RFC 3339.

Por exemplo:

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

Para filtrar por disponibilidade, consulte os artigos Filtrar recomendações e Filtrar por documentos disponíveis.

media_duration

String: obrigatório para apps de recomendações de multimédia em que o objetivo da empresa é a taxa de cliques (CVR) ou a duração da visualização por sessão.

Duração do conteúdo multimédia. A duração deve ser codificada como uma string. A codificação deve ser igual à codificação da string JSON.google::protobuf::Duration Por exemplo: "5s", "1m"

Este campo é importante para apps de recomendações de conteúdo multimédia em que o objetivo da empresa é maximizar a taxa de conversão (CVR) ou a duração de visualização por visitante.

Além disso, existem propriedades importantes que não são obrigatórias, mas, para obter resultados de qualidade, mapeie o maior número possível destas para o seu esquema.

Estas propriedades principais são as seguintes:

Nome da propriedade da chave Notas
description

String: altamente recomendado

Descrição do documento. Limite de comprimento de 5000 carateres.

image

Objeto: opcional: repetido

Propriedade de chave raiz para encapsular propriedades relacionadas com imagens.

image_name

String – opcional

Nome da imagem. Limite de comprimento de 128 carateres.

image_uri

String – opcional

URI da imagem. Limite de comprimento de 5000 carateres.

language-code

String – opcional

Idioma do título/descrição e outros atributos de texto. Use etiquetas de idioma definidas por BCP 47.

Para recomendações de documentos, este campo é ignorado e o idioma do texto é detetado automaticamente. O documento pode incluir texto em diferentes idiomas, mas a duplicação de documentos para fornecer texto em vários idiomas pode resultar numa degradação do desempenho.

Para a pesquisa de documentos, este campo está a ser usado. A predefinição é "en-US" se não estiver definida. Por exemplo, "language_code": "en-US"

media_aggregated_rating

Objeto: opcional: repetido

Propriedade de chave raiz para encapsular as propriedades relacionadas com aggregate_rating.

media_aggregated_rating_count

Número inteiro – opcional

O número de críticas individuais. Deve ser um valor não negativo.

media_aggregated_rating_score

Duplo – obrigatório

A classificação agregada. A classificação deve ser normalizada para o intervalo [1, 5].

media_aggregated_rating_source

String – obrigatório

A origem da classificação. Por exemplo, imdb ou rotten_tomatoes. Tem de ser uma string codificada em UTF-8 com um limite de 128 carateres. Tem de corresponder ao padrão: [a-zA-Z0-9][a-zA-Z0-9_]*.

media_content_index

Número inteiro – opcional

Índice de conteúdo do documento multimédia. O campo de índice de conteúdo pode ser usado para ordenar os documentos relativamente a outros. Por exemplo, o número do episódio pode ser usado como o índice de conteúdo.

O índice de conteúdo tem de ser um número inteiro não negativo.

Por exemplo: "content_index": 0

media_content_rating

String – opcional – repetida

A classificação de conteúdo, usada para sistemas de aviso de conteúdo e filtragem de conteúdo com base no público. São permitidos, no máximo, 100 valores por documento com um limite de comprimento de 128 carateres.

Esta etiqueta pode ser usada para filtrar os resultados das recomendações transmitindo a etiqueta como parte do RecommendRequest.filter.

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

media_country_of_origin

String – opcional

País de origem do documento de conteúdo multimédia. Limite de comprimento de 128 carateres.

Por exemplo: "country_of_origin": "US"

media_expire_time

Data/hora: opcional

O tempo em que o conteúdo expira para os utilizadores finais. Este campo identifica a atualidade de um conteúdo para os utilizadores finais. A data/hora deve estar em conformidade com a norma RFC 3339.

Por exemplo:

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

Para excluir documentos expirados dos resultados, consulte os artigos Filtrar recomendações e Filtrar pesquisa de multimédia.

live_event_start_time

Data/hora: opcional

A hora de início do evento em direto. A data/hora deve estar em conformidade com a norma RFC 3339.

Por exemplo:

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

live_event_end_time

Data/hora: opcional

A hora em que o evento em direto termina. A data/hora deve estar em conformidade com a norma RFC 3339.

Por exemplo:

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

media_filter_tag

String – opcional – repetida

Filtre as etiquetas do documento. São permitidos, no máximo, 250 valores por documento com um limite de comprimento de 1000 carateres. Caso contrário, é devolvido um erro INVALID_ARGUMENT.

Esta etiqueta pode ser usada para filtrar os resultados das recomendações transmitindo a etiqueta como parte do RecommendRequest.filter.

Por exemplo: "filter_tags": [ "filter_tag"]

media_hash_tag

String – opcional – repetida

Hashtags para o documento. São permitidos, no máximo, 100 valores por documento, com um limite de comprimento de 5000 carateres.

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

media_in_language

String – opcional – repetida

Idioma dos conteúdos multimédia. Use etiquetas de idioma definidas pela norma BCP 47.

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

media_organization

Objeto: opcional: repetido

Propriedade de chave raiz para encapsular as propriedades relacionadas com organization.

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

media_organization_custom_role

String – opcional

custom_role é definido se e apenas se role estiver definido como custom-role. Tem de ser uma string codificada em UTF-8 com um limite de 128 carateres. Tem de corresponder ao padrão: [a-zA-Z0-9][a-zA-Z0-9_]*.

media_organization_name

String – obrigatório

Nome da organização.

media_organization_rank

String – opcional

Usado para a classificação de funções. Por exemplo, para o primeiro publicador: role = "publisher", rank = 1.

media_organization_role

String – obrigatório

A função da organização no item multimédia.

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

Se nenhum dos valores suportados for aplicado a role, defina role como custom-role e indique o valor no campo custom_role.

media_organization_uri

String – opcional

URI da organização.

media_person

Objeto: opcional: repetido

Propriedade de chave raiz para encapsular as propriedades relacionadas com pessoas.

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

media_person_custom_role

String – opcional

custom_role é definido se e apenas se role estiver definido como custom-role. Tem de ser uma string codificada em UTF-8 com um limite de 128 carateres. Tem de corresponder ao padrão: [a-zA-Z0-9][a-zA-Z0-9_]*.

media_person_name

String – obrigatório

Nome da pessoa.

media_person_rank

Número inteiro – opcional

Usado para a classificação de funções. Por exemplo, para o primeiro ator: role = "actor", rank = 1

media_person_role

String – obrigatório

A função da pessoa no item multimédia.

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

Se nenhum dos valores suportados for aplicado a role, defina role como custom-role e indique o valor no campo custom_role.

media_person_uri

String – opcional

URI da pessoa.

media_production_year

Número inteiro – opcional

O ano em que o conteúdo multimédia foi produzido.

media_transcript

String – opcional

Transcrição do documento multimédia.

media_type

String: este campo é obrigatório para filmes e programas

Categoria de nível superior.

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

Os valores movie e show têm um significado especial. Enriquecem os documentos de uma forma que melhora a classificação e ajuda os utilizadores que pesquisam títulos a encontrar conteúdo alternativo que possa ser do seu interesse.

Se estiver a usar o seu próprio esquema em vez do esquema predefinido da Google, consulte o artigo Forneça ou detete automaticamente um esquema para obter informações sobre a formatação e a importação do seu próprio esquema.