Mediendokumente und Datenspeicher

Auf dieser Seite finden Sie Informationen zu Dokumenten und Datenspeichern für Medien. Wenn Sie Medienempfehlungen oder die Mediensuche verwenden, lesen Sie die Schemaanforderungen für Ihre Dokumente und Datenspeicher auf dieser Seite, bevor Sie Ihre Daten hochladen.

Übersicht

Ein Dokument ist ein beliebiges Element, das Sie in einen Vertex AI Agent Builder-Datenspeicher hochladen. Bei Medien enthält ein Dokument in der Regel Metadaten zu Medieninhalten wie Videos, Nachrichtenartikeln, Musikdateien oder Podcasts. Diese Metadaten werden im Document-Objekt in der API erfasst.

Ihr Datenspeicher enthält eine Sammlung von Dokumenten, die Sie hochgeladen haben. Wenn Sie einen Datenspeicher erstellen, geben Sie an, dass er Mediendokumente enthalten soll. Datenspeicher für Medien können nur an Medienanwendungen angehängt werden, nicht an andere App-Typen wie allgemeine Suchanwendungen und Empfehlungen. Datenspeicher werden in der API durch die Ressource DataStore dargestellt.

Die Qualität der von Ihnen hochgeladenen Daten hat direkten Einfluss auf die Qualität der Ergebnisse, die von Medien-Apps bereitgestellt werden. Im Allgemeinen gilt: Je genauer und spezifischer die Informationen sind, desto höher ist die Qualität der Ergebnisse.

Die Daten, die Sie in den Datenspeicher hochladen, müssen in einem bestimmten JSON-Schema formatiert sein. Die Daten in diesem Schema müssen sich in einer BigQuery-Tabelle, einer Datei oder mehreren Dateien in Cloud Storage oder in einem JSON-Objekt befinden, das direkt über die Google Cloud Console hochgeladen werden kann.

Von Google vordefiniertes Schema im Vergleich zu einem benutzerdefinierten Schema

Für das Schema für Mediendaten haben Sie zwei Möglichkeiten:

  • Das von Google vordefinierte Schema. Wenn Sie noch kein Schema für Ihre Mediendaten entworfen haben, ist das von Google vordefinierte Schema eine gute Wahl.

  • Ihr eigenes Schema Wenn Ihre Daten bereits in einem Schema formatiert sind, können Sie Ihr eigenes Schema verwenden. Weitere Informationen finden Sie unten im Abschnitt Benutzerdefiniertes Schema.

Bei beiden Optionen können Sie dem Schema nach dem ersten Datenimport Felder hinzufügen. Beim vordefinierten Google-Schema müssen die Namen und Typen der Datenfelder beim ersten Import jedoch genau mit denen in den Tabellen Dokumentfelder übereinstimmen.

Haupteigenschaften

Mit Properties werden die Modelle für die Suche und Empfehlungen trainiert. Property-Felder repräsentieren alle Felder in Ihrem Schema.

Schlüsseleigenschaften sind eine spezielle, feste Gruppe von Properties im Google-Schema. Die Schlüsselattribute geben wichtige Informationen zum Verständnis der semantischen Bedeutung der Daten an.

Wenn Sie ein benutzerdefiniertes Schema verwenden, ordnen Sie Ihre Felder so vielen Schlüsselattributen wie möglich zu. Die Zuordnung erfolgt nach dem Importieren der Daten in der Google Cloud Console. Weitere Informationen finden Sie unter Mediendatenspeicher erstellen.

Von Google vordefiniertes JSON-Schema für Document

Wenn Sie Medien verwenden, können Dokumente das von Google vordefinierte JSON-Schema für Medien verwenden.

Dokumente werden entweder als JSON- oder als Strukturdaten hochgeladen. Achten Sie darauf, dass das JSON-Dokument oder -Objekt dem folgenden JSON-Schema entspricht. Für die Validierung des JSON-Schemas wird JSON Schema 2020-12 verwendet. Weitere Informationen zu JSON-Schemas finden Sie in der JSON-Schema-Spezifikationsdokumentation auf 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",
    },
    "production_year": {
      "type": "integer",
    }
  },
  "required": ["title", "categories", "uri", "available_time"],
}

Beispiel für ein JSON-Document-Objekt

Das folgende Beispiel zeigt ein JSON-Document-Objekt.

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

Dokumentfelder

In diesem Abschnitt sind die Feldwerte aufgeführt, die Sie angeben, wenn Sie Dokumente für Ihren Datenspeicher erstellen. Die Werte sollten den Werten entsprechen, die in Ihrer internen Dokumentendatenbank verwendet werden. Außerdem sollten sie das dargestellte Element genau widerspiegeln.

Document-Objektfelder

Die folgenden Felder sind übergeordnete Felder für das Document-Objekt. Weitere Informationen zu diesen Feldern finden Sie auf der Document-Referenzseite.

Feldname Hinweise
name Der vollständige, eindeutige Ressourcenname des Dokuments. Erforderlich für alle Document-Methoden mit Ausnahme von create und import. Während des Imports wird der Name automatisch generiert und muss nicht manuell angegeben werden.
id Die Dokument-ID, die von Ihrer internen Datenbank verwendet wird. Das ID-Feld muss in Ihrem gesamten Datenspeicher eindeutig sein. Derselbe Wert wird beim Aufzeichnen eines Nutzerereignisses verwendet und auch von den Methoden recommend und search zurückgegeben.
schemaId Erforderlich. Die Kennung des Schemas im selben Datenspeicher. Muss auf „default_schema“ festgelegt werden, das automatisch beim Erstellen des Standarddatenspeichers erstellt wird.
parentDocumentId Die ID des übergeordneten Dokuments. Bei Dokumenten der obersten Ebene (Stammdokumenten) kann parent_document_id leer sein oder auf sich selbst verweisen. Bei untergeordneten Dokumenten sollte parent_document_id auf ein gültiges Stammdokument verweisen.

Property-Felder

Die folgenden Felder werden mit dem vordefinierten JSON-Schemaformat für Medien definiert.

Weitere Informationen zu JSON-Properties finden Sie in der Dokumentation zu JSON-Schemas unter json-schema.org unter Properties.

In der folgenden Tabelle werden flache Felder definiert.

Feldname Hinweise
title

String – erforderlich

Dokumenttitel aus Ihrer Datenbank. Ein UTF-8-codierter String. Er ist auf maximal 1.000 Zeichen beschränkt.

categories

String – erforderlich

Dokumentkategorien Diese Property wird wiederholt, um ein Dokument zu unterstützen, das zu mehreren parallelen Kategorien gehört. Verwenden Sie den vollständigen Pfad zur Kategorie, um bessere Ergebnisse zu erzielen.

Verwenden Sie das Symbol >, um Hierarchien zu trennen und den vollständigen Pfad einer Kategorie darzustellen. Wenn > Teil des Kategorienamens ist, ersetzen Sie es durch ein anderes Zeichen.

Beispiel:

"categories": [ "sports > highlight" ]

Ein Dokument kann maximal 250 Kategorien enthalten. Jede Kategorie ist ein UTF-8-codierter String mit einer maximalen Länge von 5.000 Zeichen.

uri

String – erforderlich

URI des Dokuments. Die Länge ist auf 5.000 Zeichen begrenzt.

description

String – dringend empfohlen

Beschreibung des Dokuments. Die Länge ist auf 5.000 Zeichen begrenzt.

media_type

String – Dieses Feld ist für Filme und Serien erforderlich.

Kategorie der obersten Ebene.

Unterstützte Typen: movie, show, concert, event, live-event, broadcast, tv-series, episode, video-game, clip, vlog, audio, audio-book, music, album, articles, news, radio, podcast, book und sports-game.

Die Werte movie und show haben eine besondere Bedeutung. Sie sorgen dafür, dass Dokumente so angereichert werden, dass das Ranking verbessert wird und Nutzer bei Titelsuchen alternative Inhalte finden, die für sie interessant sein könnten.

language_code

String – optional

Sprache des Titels/der Beschreibung und anderer Stringattribute. Verwenden Sie Sprachentags, die gemäß BCP 47 definiert sind.

Bei der Dokumentenrecommendation wird dieses Feld ignoriert und die Textsprache wird automatisch erkannt. Das Dokument kann Text in verschiedenen Sprachen enthalten. Das Duplizieren von Dokumenten, um Text in mehreren Sprachen bereitzustellen, kann jedoch zu einer Leistungsminderung führen.

Dieses Feld wird für die Dokumentensuche verwendet. Wenn dieser Parameter nicht festgelegt ist, wird standardmäßig „en-US“ verwendet. Beispiel: "language_code": "en-US".

duration

String – erforderlich für Anwendungen für Medienempfehlungen, bei denen das Geschäftsziel die Klickrate (Click-through-Rate, CTR) oder die Wiedergabedauer pro Sitzung ist.

Dauer der Medieninhalte. Die Dauer sollte als String codiert sein. Die Codierung muss der JSON-Stringcodierung von google::protobuf::Duration entsprechen. Beispiel: „5 s“, „1 Min.“

available_time

Datum/Uhrzeit – erforderlich

Die Zeit, in der die Inhalte für die Endnutzer verfügbar sind. Dieses Feld gibt die Aktualität von Inhalten für Endnutzer an. Der Zeitstempel muss dem RFC 3339-Standard entsprechen.

Beispiel:

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

expire_time

Datum/Uhrzeit (optional)

Der Zeitpunkt, zu dem die Inhalte für die Endnutzer ablaufen. Dieses Feld gibt die Aktualität von Inhalten für Endnutzer an. Der Zeitstempel muss dem RFC 3339-Standard entsprechen.

Beispiel:

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

in_languages

String – optional – wiederholbar

Sprache der Medieninhalte. Verwenden Sie Sprachentags, die gemäß BCP 47 definiert sind.

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

country_of_origin

String – optional

Herkunftsland des Mediendokuments. Die maximale Länge beträgt 128 Zeichen.

Beispiel: "country_of_origin": "US"

transcript

String – optional

Transkript des Mediendokuments.

content_index

Ganzzahl – optional

Inhaltsindex des Mediendokuments. Mit dem Inhaltsindexfeld können Sie die Dokumente in Bezug auf andere sortieren. Als Inhaltsindex kann beispielsweise die Folgennummer verwendet werden.

Der Inhaltsindex muss eine nicht negative Ganzzahl sein.

Beispiel: "content_index": 0

filter_tags

String – optional – wiederholbar

Tags für das Dokument filtern Pro Dokument sind maximal 250 Werte mit einer Länge von maximal 1.000 Zeichen zulässig. Andernfalls wird der Fehler INVALID_ARGUMENT zurückgegeben.

Dieses Tag kann zum Filtern von Empfehlungsergebnissen verwendet werden, indem es als Teil von RecommendRequest.filter übergeben wird.

Beispiel: "filter_tags": [ "filter_tag"]

hash_tags

String – optional – wiederholbar

Hashtags für das Dokument. Pro Dokument sind maximal 100 Werte mit einer Länge von maximal 5.000 Zeichen zulässig.

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

production_year

Ganzzahl – optional

Das Jahr, in dem die Medien erstellt wurden.

content_rating

String – optional – wiederholbar

Die Altersfreigabe, die für Inhaltswarnsysteme und die inhaltsbasierte Filterung verwendet wird. Pro Dokument sind maximal 100 Werte mit einer Länge von maximal 128 Zeichen zulässig.

Dieses Tag kann zum Filtern von Empfehlungsergebnissen verwendet werden, indem es als Teil von RecommendRequest.filter übergeben wird.

Beispiel: content_rating: ["PG-13"]

In der folgenden Tabelle werden hierarchische Felder definiert.

Feldname Hinweise
images

Objekt – optional – wiederholt

Stammschlüsseleigenschaft zum Kapseln von bildbezogenen Properties.

images.uri

String – optional

URI des Bildes. Die Länge ist auf 5.000 Zeichen beschränkt.

images.name

String – optional

Name des Bilds. Die maximale Länge beträgt 128 Zeichen.

persons

Objekt – optional – wiederholt

Stammschlüssel-Property zum Kapseln der personenbezogenen Properties.

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

persons.name

String – erforderlich

Name der Person.

persons.role

String – erforderlich

Die Rolle der Person im Medienelement.

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

Wenn keiner der unterstützten Werte auf role angewendet wird, legen Sie role auf custom-role fest und geben Sie den Wert im Feld custom_role an.

persons.custom_role

String – optional

custom_role ist nur dann festgelegt, wenn role auf custom-role gesetzt ist. Muss ein UTF-8-codierter String mit einer Länge von maximal 128 Zeichen sein. Muss mit dem folgenden Muster übereinstimmen: [a-zA-Z0-9][a-zA-Z0-9_]*.

persons.rank

Ganzzahl – optional

Wird für das Rollenranking verwendet. Beispiel für den ersten Schauspieler: role = "actor", rank = 1

persons.uri

String – optional

URI der Person.

organizations

Objekt – optional – wiederholt

Stammschlüssel-Property zum Kapseln der organization-bezogenen Properties.

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

organizations.name

String – erforderlich

Name der Organisation.

organizations.role

String – erforderlich

Die Rolle der Organisation im Medienelement.

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

Wenn keiner der unterstützten Werte auf role angewendet wird, setzen Sie role auf custom-role und geben Sie den Wert im Feld custom_role an.

organizations.custom_role

String – optional

custom_role ist nur dann festgelegt, wenn role auf custom-role gesetzt ist. Muss ein UTF-8-codierter String mit einer Länge von maximal 128 Zeichen sein. Muss mit dem folgenden Muster übereinstimmen: [a-zA-Z0-9][a-zA-Z0-9_]*.

organizations.rank

String – optional

Wird für das Rollenranking verwendet. Beispiel für den ersten Publisher: role = "publisher", rank = 1.

organizations.uri

String – optional

URI der Organisation.

aggregate_ratings

Objekt – optional – wiederholt

Stammschlüsseleigenschaft zum Kapseln der zu aggregate_rating gehörenden Properties.

aggregate_ratings.rating_source

String – erforderlich

Die Quelle der Altersfreigabe. Beispiel: imdb oder rotten_tomatoes. Muss ein UTF-8-codierter String mit einer maximalen Länge von 128 Zeichen sein. Muss mit dem folgenden Muster übereinstimmen: [a-zA-Z0-9][a-zA-Z0-9_]*.

aggregate_ratings.rating_score

Doppelt – erforderlich

Die Gesamtbewertung. Die Bewertung sollte auf den Bereich [1, 5] normalisiert sein.

aggregate_ratings.rating_count

Ganzzahl – optional

Die Anzahl der einzelnen Rezensionen. Muss ein nicht negativer Wert sein.

Dokumentebenen

Dokumentebenen bestimmen die Hierarchie in Ihrem Datenspeicher. Normalerweise sollten Sie einen Datenspeicher auf einer oder zwei Ebenen haben. Es werden nur zwei Ebenen unterstützt.

Sie können beispielsweise einen Datenspeicher auf einer Ebene haben, in dem jedes Dokument ein einzelnes Element ist. Alternativ können Sie einen zweistufigen Datenspeicher auswählen, der sowohl Artikelgruppen als auch einzelne Artikel enthält.

Typen auf Dokumentebene

Es gibt zwei Arten von Dokumentebenen:

  • Eltern Übergeordnete Dokumente werden von Vertex AI Search in Empfehlungen und Suchanfragen zurückgegeben. Als übergeordnete Elemente können einzelne Dokumente oder Gruppen ähnlicher Dokumente verwendet werden. Dieser Ebenentyp wird empfohlen.

  • Kind Untergeordnete Dokumente sind Versionen des übergeordneten Dokuments einer Gruppe. Untergeordnete Dokumente können nur einzelne Dokumente sein. Wenn das übergeordnete Dokument beispielsweise „Beispiel-TV-Sendung“ lautet, könnten die untergeordneten Elemente „Folge 1“ und „Folge 2“ sein. Dieser Ebenentyp kann schwierig zu konfigurieren und zu verwalten sein und wird daher nicht empfohlen.

Datenspeicherhierarchie

Entscheiden Sie bei der Planung der Datenspeicherhierarchie, ob Ihr Datenspeicher nur übergeordnete oder übergeordnete und untergeordnete Elemente enthalten soll. Wichtig ist, dass bei Empfehlungen und Suchanfragen nur übergeordnete Dokumente zurückgegeben werden.

Ein Datenspeicher, der nur für Eltern gedacht ist, kann beispielsweise gut für Hörbücher geeignet sein, bei denen ein Empfehlungsbereich eine Auswahl einzelner Hörbücher zurückgibt. Wenn du hingegen Folgen einer TV-Serie als übergeordnete Dokumente in einen Datenspeicher hochgeladen hast, der nur übergeordnete Elemente enthält, werden dir im selben Bereich möglicherweise mehrere Folgen in der falschen Reihenfolge empfohlen.

Ein Datenspeicher für Serien kann sowohl über übergeordnete als auch untergeordnete Elemente verfügen. Dabei steht jedes übergeordnete Dokument für eine Serie mit untergeordneten Dokumenten, die die Folgen dieser Serie darstellen. Mit diesem zweistufigen Datenspeicher kann in der Empfehlungsübersicht eine Reihe ähnlicher Serien angezeigt werden. Der Endnutzer kann auf eine bestimmte Sendung klicken, um eine Folge auszuwählen.

Da Eltern-Kind-Hierarchien schwierig zu konfigurieren und zu verwalten sind, werden Datenspeicher nur für übergeordnete Elemente empfohlen.

Ein Datenspeicher für Serien eignet sich beispielsweise gut als Datenspeicher nur für übergeordnete Elemente, bei dem jedes übergeordnete Dokument eine Serie darstellt, die empfohlen werden kann. Einzelne Folgen sind nicht enthalten und werden daher nicht empfohlen.

Wenn Sie feststellen, dass Ihr Datenspeicher sowohl übergeordnete als auch untergeordnete Elemente, also Gruppen und einzelne Elemente, haben muss, Sie aber derzeit nur einzelne Elemente haben, müssen Sie übergeordnete Elemente für die Gruppen erstellen. Sie müssen mindestens id, title und categories angeben. Weitere Informationen finden Sie im Abschnitt Dokumentfelder.

BigQuery-Schema für Medien

Wenn Sie Ihre Dokumente aus BigQuery importieren möchten, verwenden Sie das vordefinierte BigQuery-Schema, um eine BigQuery-Tabelle mit dem richtigen Format zu erstellen und mit Ihren Dokumentendaten zu laden, bevor Sie Ihre Dokumente importieren.

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

Benutzerdefiniertes Schema

Wenn Ihre Daten bereits in einem Schema formatiert sind, können Sie das oben beschriebene vordefinierte Google-Schema nicht verwenden. Stattdessen kannst du dein eigenes Schema verwenden und Felder aus deinem Schema den Media-Schlüsseleigenschaften zuordnen. Verwenden Sie die Google Cloud Console, um Ihr Schema beim Erstellen des Datenmedienspeichers abzubilden.

Wenn Sie ein eigenes Schema verwenden, müssen Sie Felder in Ihrem Schema haben, die den folgenden fünf wichtigen Eigenschaften für Medien zugeordnet werden können:

Erforderlicher Name der Haupteigenschaft Hinweise
title

String – erforderlich

Dokumenttitel aus Ihrer Datenbank. Ein UTF-8-codierter String. Er ist auf maximal 1.000 Zeichen beschränkt.

uri

String – erforderlich

URI des Dokuments. Die Länge ist auf 5.000 Zeichen begrenzt.

category

String – erforderlich

Dokumentkategorien Diese Property wird wiederholt, um ein Dokument zu unterstützen, das zu mehreren parallelen Kategorien gehört. Verwenden Sie den vollständigen Pfad zur Kategorie, um bessere Ergebnisse zu erzielen.

Verwenden Sie das Symbol >, um Hierarchien zu trennen und den vollständigen Pfad einer Kategorie darzustellen. Wenn > Teil des Kategorienamens ist, ersetzen Sie es durch ein anderes Zeichen.

Beispiel:

"categories": [ "sports > highlight" ]

Ein Dokument kann maximal 250 Kategorien enthalten. Jede Kategorie ist ein UTF-8-codierter String mit einer maximalen Länge von 5.000 Zeichen.

media_available_time

Datum/Uhrzeit – erforderlich

Die Zeit, in der die Inhalte für die Endnutzer verfügbar sind. Dieses Feld gibt die Aktualität von Inhalten für Endnutzer an. Der Zeitstempel muss dem RFC 3339-Standard entsprechen.

Beispiel:

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

media_duration

String – erforderlich für Anwendungen für Medienempfehlungen, bei denen das Geschäftsziel die Klickrate (Click-through-Rate, CTR) oder die Wiedergabedauer pro Sitzung ist.

Dauer der Medieninhalte. Die Dauer sollte als String codiert sein. Die Codierung muss der JSON-Stringcodierung von google::protobuf::Duration entsprechen. Beispiel: „5 s“, „1 Min.“

Dieses Feld ist wichtig für Apps mit Medienempfehlungen, bei denen das Geschäftsziel darin besteht, die Conversion-Rate (CVR) oder die Wiedergabedauer pro Besucher zu maximieren.

Außerdem gibt es wichtige Properties, die nicht erforderlich sind. Für qualitativ hochwertige Ergebnisse sollten Sie jedoch so viele davon wie möglich Ihrem Schema zuordnen.

Das sind die wichtigsten Eigenschaften:

Name der Schlüsseleigenschaft Hinweise
description

String – dringend empfohlen

Beschreibung des Dokuments. Die Länge ist auf 5.000 Zeichen begrenzt.

image

Objekt – optional – wiederholt

Stammschlüsseleigenschaft zum Kapseln von bildbezogenen Properties.

image_name

String – optional

Name des Bilds. Die maximale Länge beträgt 128 Zeichen.

image_uri

String – optional

URI des Bildes. Die Länge ist auf 5.000 Zeichen beschränkt.

language-code

String – optional

Sprache des Titels/der Beschreibung und anderer Stringattribute. Verwenden Sie Sprachentags, die gemäß BCP 47 definiert sind.

Bei der Dokumentenrecommendation wird dieses Feld ignoriert und die Textsprache wird automatisch erkannt. Das Dokument kann Text in verschiedenen Sprachen enthalten. Das Duplizieren von Dokumenten, um Text in mehreren Sprachen bereitzustellen, kann jedoch zu einer Leistungsminderung führen.

Dieses Feld wird für die Dokumentensuche verwendet. Wenn dieser Parameter nicht festgelegt ist, wird standardmäßig „en-US“ verwendet. Beispiel: "language_code": "en-US".

media_aggregated_rating

Objekt – optional – wiederholt

Stammschlüsseleigenschaft zum Kapseln der aggregate_rating-bezogenen Properties.

media_aggregated_rating_count

Ganzzahl – optional

Die Anzahl der einzelnen Rezensionen. Muss ein nicht negativer Wert sein.

media_aggregated_rating_score

Doppelt – erforderlich

Die Gesamtbewertung. Die Bewertung sollte auf den Bereich [1, 5] normalisiert sein.

media_aggregated_rating_source

String – erforderlich

Die Quelle der Altersfreigabe. Beispiel: imdb oder rotten_tomatoes. Muss ein UTF-8-codierter String mit einer maximalen Länge von 128 Zeichen sein. Muss mit dem folgenden Muster übereinstimmen: [a-zA-Z0-9][a-zA-Z0-9_]*.

media_content_index

Ganzzahl – optional

Inhaltsindex des Mediendokuments. Mit dem Inhaltsindexfeld können Sie die Dokumente in Bezug auf andere sortieren. Als Inhaltsindex kann beispielsweise die Folgennummer verwendet werden.

Der Inhaltsindex muss eine nicht negative Ganzzahl sein.

Beispiel: "content_index": 0

media_content_rating

String – optional – wiederholbar

Die Altersfreigabe, die für Inhaltswarnsysteme und die inhaltsbasierte Filterung verwendet wird. Pro Dokument sind maximal 100 Werte mit einer Länge von maximal 128 Zeichen zulässig.

Dieses Tag kann zum Filtern von Empfehlungsergebnissen verwendet werden, indem es als Teil von RecommendRequest.filter übergeben wird.

Beispiel: content_rating: ["PG-13"]

media_country_of_origin

String – optional

Herkunftsland des Mediendokuments. Die maximale Länge beträgt 128 Zeichen.

Beispiel: "country_of_origin": "US"

media_expire_time

Datum/Uhrzeit (optional)

Der Zeitpunkt, zu dem die Inhalte für die Endnutzer ablaufen. Dieses Feld gibt die Aktualität von Inhalten für Endnutzer an. Der Zeitstempel muss dem RFC 3339-Standard entsprechen.

Beispiel:

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

media_filter_tag

String – optional – wiederholbar

Tags für das Dokument filtern Pro Dokument sind maximal 250 Werte mit einer Länge von maximal 1.000 Zeichen zulässig. Andernfalls wird der Fehler INVALID_ARGUMENT zurückgegeben.

Dieses Tag kann zum Filtern von Empfehlungsergebnissen verwendet werden, indem es als Teil von RecommendRequest.filter übergeben wird.

Beispiel: "filter_tags": [ "filter_tag"]

media_hash_tag

String – optional – wiederholbar

Hashtags für das Dokument. Pro Dokument sind maximal 100 Werte mit einer Länge von maximal 5.000 Zeichen zulässig.

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

media_in_language

String – optional – wiederholbar

Sprache der Medieninhalte. Verwenden Sie Sprachentags, die gemäß BCP 47 definiert sind.

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

media_organization

Objekt – optional – wiederholt

Stammschlüssel-Property zum Kapseln der organization-bezogenen Properties.

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

media_organization_custom_role

String – optional

custom_role ist nur dann festgelegt, wenn role auf custom-role gesetzt ist. Muss ein UTF-8-codierter String mit einer Länge von maximal 128 Zeichen sein. Muss mit dem folgenden Muster übereinstimmen: [a-zA-Z0-9][a-zA-Z0-9_]*.

media_organization_name

String – erforderlich

Name der Organisation.

media_organization_rank

String – optional

Wird für das Rollenranking verwendet. Beispiel für den ersten Publisher: role = "publisher", rank = 1.

media_organization_role

String – erforderlich

Die Rolle der Organisation im Medienelement.

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

Wenn keiner der unterstützten Werte auf role angewendet wird, setzen Sie role auf custom-role und geben Sie den Wert im Feld custom_role an.

media_organization_uri

String – optional

URI der Organisation.

media_person

Objekt – optional – wiederholt

Stammschlüssel-Property zum Kapseln der personenbezogenen Properties.

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

media_person_custom_role

String – optional

custom_role ist nur dann festgelegt, wenn role auf custom-role gesetzt ist. Muss ein UTF-8-codierter String mit einer Länge von maximal 128 Zeichen sein. Muss mit dem folgenden Muster übereinstimmen: [a-zA-Z0-9][a-zA-Z0-9_]*.

media_person_name

String – erforderlich

Name der Person.

media_person_rank

Ganzzahl – optional

Wird für das Rollenranking verwendet. Beispiel für den ersten Schauspieler: role = "actor", rank = 1

media_person_role

String – erforderlich

Die Rolle der Person im Medienelement.

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

Wenn keiner der unterstützten Werte auf role angewendet wird, legen Sie role auf custom-role fest und geben Sie den Wert im Feld custom_role an.

media_person_uri

String – optional

URI der Person.

media_production_year

Ganzzahl – optional

Das Jahr, in dem die Medien erstellt wurden.

media_transcript

String – optional

Transkript des Mediendokuments.

media_type

String – Dieses Feld ist für Filme und Serien erforderlich.

Kategorie der obersten Ebene.

Unterstützte Typen: movie, show, concert, event, live-event, broadcast, tv-series, episode, video-game, clip, vlog, audio, audio-book, music, album, articles, news, radio, podcast, book und sports-game.

Die Werte movie und show haben eine besondere Bedeutung. Sie sorgen dafür, dass Dokumente so angereichert werden, dass das Ranking verbessert wird und Nutzer bei Titelsuchen alternative Inhalte finden, die für sie interessant sein könnten.

Wenn Sie anstelle des vordefinierten Google-Schemas ein eigenes Schema verwenden, finden Sie unter Schema angeben oder automatisch erkennen Informationen zum Formatieren und Importieren Ihres eigenen Schemas.