Mediendokumente und Datenspeicher

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

Übersicht

Ein Dokument ist ein beliebiges Element, das Sie in einen Datenspeicher für KI-Anwendungen hochladen. Bei Medien enthält ein Dokument in der Regel Metadaten zu Medieninhalten wie Videos, Nachrichtenartikeln, Musikdateien oder Podcasts. Das Document-Objekt in der API erfasst diese Metadaten.

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 Medien-Apps angehängt werden, nicht an andere App-Typen wie benutzerdefinierte Such- und Empfehlungs-Apps. 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 Media-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 einer Reihe von Dateien in Cloud Storage oder in einem JSON-Objekt befinden, das direkt über die Google Cloud Konsole hochgeladen werden kann.

Von Google vordefiniertes Schema im Vergleich zu benutzerdefiniertem Schema

Sie haben zwei Optionen für das Schema Ihrer Media-Daten:

  • Das von Google vordefinierte Schema. Wenn Sie noch kein Schema für Ihre Media-Daten entworfen haben, ist das vordefinierte Google-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 unter Benutzerdefiniertes Schema.

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

Haupteigenschaften

Properties werden verwendet, um die Modelle für die Suche und Empfehlungen zu trainieren. Property-Felder stellen alle Felder in Ihrem Schema dar.

Schlüsseleigenschaften sind eine spezielle, feste Gruppe von Eigenschaften 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 in der Google Cloud Console nach dem Importieren der Daten. Weitere Informationen finden Sie unter Mediendatenspeicher erstellen.

Vordefiniertes JSON-Schema von Google für Document

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

Dokumente werden entweder mit einer JSON- oder einer Struct-Datendarstellung hochgeladen. Achten Sie darauf, dass das JSON- oder Struct-Dokument dem folgenden JSON-Schema entspricht. Das JSON-Schema verwendet JSON Schema 2020-12 zur Validierung. Weitere Informationen zum JSON-Schema finden Sie in der Dokumentation zur JSON-Schema-Spezifikation 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",
    },
    "live_event_start_time": {
      "type": "datetime",
    },
    "live_event_end_time": {
      "type": "datetime",
    },
    "production_year": {
      "type": "integer",
    }
  },
  "required": ["title", "categories", "uri", "available_time"],
}

Beispiel für ein Document-JSON-Objekt

Das folgende Beispiel zeigt ein JSON-Objekt 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"
}

Dokumentfelder

In diesem Abschnitt werden die Feldwerte aufgeführt, die Sie beim Erstellen von Dokumenten für Ihren Datenspeicher angeben. Die Werte sollten den Werten entsprechen, die in Ihrer internen Dokumentdatenbank verwendet werden. Außerdem sollten sie das dargestellte Element genau widerspiegeln.

Document-Objektfelder

Die folgenden Felder sind Felder der obersten Ebene 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 von Ihrer internen Datenbank verwendete Dokument-ID. 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, das sich im selben Datenspeicher befindet. Sollte auf „default_schema“ festgelegt werden. Dieses Schema wird automatisch erstellt, wenn der Standarddatenspeicher erstellt wird.
parentDocumentId Die ID des übergeordneten Dokuments. Bei Dokumenten der obersten Ebene (Root-Dokumenten) 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 Media definiert.

Weitere Informationen zu JSON-Attributen finden Sie in der Dokumentation properties unter json-schema.org.

In der folgenden Tabelle werden flache Felder definiert.

Feldname Hinweise
title

String – erforderlich

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

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 Kategoriepfad, um bessere Ergebnisse zu erzielen.

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

Beispiel:

"categories": [ "sports > highlight" ]

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

uri

String – erforderlich

URI des Dokuments. Längenbeschränkung: 5.000 Zeichen.

description

String – dringend empfohlen

Beschreibung des Dokuments. Längenbeschränkung: 5.000 Zeichen.

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 führen dazu, dass Dokumente so angereichert werden, dass sich das Ranking verbessert und Nutzer, die nach Titeln suchen, alternative Inhalte finden, die sie interessieren könnten.

language_code

String – optional

Sprache des Titels/der Beschreibung und anderer String-Attribute. Verwenden Sie Sprachentags, die von BCP 47 definiert werden.

Bei Dokumentempfehlungen wird dieses Feld ignoriert und die Sprache des Texts wird automatisch erkannt. Das Dokument kann Text in verschiedenen Sprachen enthalten. Das Duplizieren von Dokumenten, die Text in mehreren Sprachen bereitstellen, kann jedoch die Leistung beeinträchtigen.

Dieses Feld wird für die Dokumentsuche verwendet. Wenn kein Wert festgelegt ist, wird standardmäßig „en-US“ verwendet. Beispiel: "language_code": "en-US".

duration

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

Dauer der Medieninhalte. Die Dauer sollte als String codiert werden. Die Codierung sollte mit der Codierung des google::protobuf::Duration-JSON-Strings übereinstimmen. Beispiel: „5s“, „1m“

available_time

Datum/Uhrzeit – erforderlich

Die Zeit, in der die Inhalte für Endnutzer verfügbar sind. Dieses Feld gibt an, wie aktuell ein Inhalt für Endnutzer ist. Der Zeitstempel sollte dem RFC 3339-Standard entsprechen.

Beispiel:

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

Informationen zum Filtern nach Verfügbarkeit finden Sie unter Empfehlungen filtern und Nach verfügbaren Dokumenten filtern.

expire_time

Datum/Uhrzeit – optional

Die Zeit, zu der der Inhalt für die Endnutzer abläuft. Dieses Feld gibt an, wie aktuell ein Inhalt für Endnutzer ist. Der Zeitstempel sollte dem RFC 3339-Standard entsprechen.

Beispiel:

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

Informationen zum Ausschließen abgelaufener Dokumente aus den Ergebnissen finden Sie unter Empfehlungen filtern und Mediensuche filtern.

live_event_start_time

Datum/Uhrzeit – optional

Die Uhrzeit, zu der das Live-Event beginnt. Der Zeitstempel sollte dem RFC 3339-Standard entsprechen.

Beispiel:

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

live_event_end_time

Datum/Uhrzeit – optional

Die Uhrzeit, zu der die Liveveranstaltung endet. Der Zeitstempel sollte dem RFC 3339-Standard entsprechen.

Beispiel:

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

in_languages

String – optional – wiederholt

Sprache der Medieninhalte. Verwenden Sie Sprachentags, die von BCP 47 definiert werden.

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

country_of_origin

String – optional

Ursprungsland des Mediendokuments. Längenbeschränkung von 128 Zeichen.

Beispiel: "country_of_origin": "US"

transcript

String – optional

Transkript des Mediendokuments.

content_index

Ganzzahl – optional

Inhaltsindex des Mediendokuments. Mit dem Feld „Inhaltsindex“ können Sie die Dokumente relativ zueinander sortieren. Die Episodennummer kann beispielsweise als Inhaltsindex verwendet werden.

Der Inhaltsindex muss eine nicht negative Ganzzahl sein.

Beispiel: "content_index": 0

filter_tags

String – optional – wiederholt

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

Mit diesen Tags können Suchergebnisse und Empfehlungen gefiltert werden. Wenn Sie Empfehlungsergebnisse filtern möchten, übergeben Sie die Tags als Teil von RecommendRequest.filter. Die Tags werden nur zum Filtern der zurückgegebenen Ergebnisse verwendet. Die Werte der Tags wirken sich nicht auf die Ergebnisse aus, die von den Such- und Empfehlungsmodellen zurückgegeben werden.

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

hash_tags

String – optional – wiederholt

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

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

production_year

Ganzzahl – optional

Das Jahr, in dem die Medien produziert wurden.

content_rating

String – optional – wiederholt

Die Altersfreigabe, die für Systeme zur Inhaltswarnung und zum Filtern von Inhalten basierend auf der Zielgruppe verwendet wird. Pro Dokument sind maximal 100 Werte mit einer Längenbeschränkung von 128 Zeichen zulässig.

Mit diesem Tag können Sie Empfehlungsergebnisse filtern, indem Sie das Tag als Teil von RecommendRequest.filter übergeben.

Beispiel: content_rating: ["PG-13"]

In der folgenden Tabelle werden hierarchische Felder definiert.

Feldname Hinweise
images

Objekt – optional – wiederholt

Stammschlüssel-Property zum Kapseln bildbezogener Properties.

images.uri

String – optional

Der URI des Bildes. Längenbeschränkung: 5.000 Zeichen.

images.name

String – optional

Name des Bildes. Längenbeschränkung von 128 Zeichen.

persons

Objekt – optional – wiederholt

Root-Schlü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, setzen Sie role auf custom-role und geben Sie den Wert im Feld custom_role an.

persons.custom_role

String – optional

custom_role wird nur festgelegt, wenn role auf custom-role gesetzt ist. Muss ein UTF-8-codierter String mit einer Längenbeschränkung von 128 Zeichen sein. Muss dem Muster entsprechen: [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

Root-Schlüsselattribut zum Kapseln der organization-bezogenen Attribute.

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 Media-Element.

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 wird nur festgelegt, wenn role auf custom-role gesetzt ist. Muss ein UTF-8-codierter String mit einer Längenbeschränkung von 128 Zeichen sein. Muss dem Muster entsprechen: [a-zA-Z0-9][a-zA-Z0-9_]*.

organizations.rank

String – optional

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

organizations.uri

String – optional

URI der Organisation.

aggregate_ratings

Objekt – optional – wiederholt

Stammschlüsselattribut zum Kapseln der aggregate_rating-bezogenen Attribute.

aggregate_ratings.rating_source

String – erforderlich

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

aggregate_ratings.rating_score

Doppelt – erforderlich

Die aggregierte Bewertung. Die Bewertung sollte auf den Bereich [1, 5] normalisiert werden.

aggregate_ratings.rating_count

Ganzzahl – optional

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

Dokumentebenen

Dokumentebenen bestimmen die Hierarchie in Ihrem Datenspeicher. In der Regel sollten Sie einen einstufigen oder zweistufigen Datenspeicher haben. Es werden nur zwei Ebenen unterstützt.

Sie können beispielsweise einen einstufigen Datenspeicher haben, in dem jedes Dokument ein einzelner Artikel ist. Alternativ können Sie einen zweistufigen Datenspeicher auswählen, der sowohl Gruppen von Elementen als auch einzelne Elemente enthält.

Typen auf Dokumentebene

Es gibt zwei Arten von Dokumenten auf Dokumentebene:

  • Elternteil Übergeordnete Dokumente sind das, was Vertex AI Search

    Rückgaben in Empfehlungen und Suchanfragen. Übergeordnete Dokumente können einzelne Dokumente oder Gruppen ähnlicher Dokumente sein. Diese Art von Ebene wird empfohlen.

  • Untergeordnet: Untergeordnete Dokumente sind Versionen des übergeordneten Dokuments einer Gruppe. Kinder können nur einzelne Dokumente sein. Wenn das übergeordnete Dokument beispielsweise „Beispiel-TV-Show“ ist, könnten untergeordnete Dokumente „Folge 1“ und „Folge 2“ sein. Dieser Typ ist schwierig zu konfigurieren und zu verwalten und wird nicht empfohlen.

Hierarchie von Datenspeichern

Legen Sie bei der Planung der Hierarchie Ihres Datenspeichers fest, ob er nur übergeordnete Elemente oder übergeordnete und untergeordnete Elemente enthalten soll. Wichtig ist, dass bei Empfehlungen und Suchanfragen nur übergeordnete Dokumente zurückgegeben werden.

Ein Datenspeicher, der nur übergeordnete Elemente enthält, eignet sich beispielsweise gut für Hörbücher, da im Empfehlungsbereich eine Auswahl einzelner Hörbücher zurückgegeben wird. Wenn du hingegen Folgen einer Serie als übergeordnete Dokumente in einen Datenspeicher nur für übergeordnete Elemente hochgeladen hast, könnten im selben Bereich mehrere Folgen in falscher Reihenfolge empfohlen werden.

Ein Datenspeicher für TV-Sendungen könnte sowohl mit Eltern als auch mit Kindern funktionieren. Dabei stellt jedes übergeordnete Dokument eine TV-Sendung dar und die untergeordneten Dokumente die Folgen dieser TV-Sendung. Dieser Datenspeicher mit zwei Ebenen ermöglicht es, im Empfehlungsbereich eine Reihe ähnlicher Serien und Shows zu präsentieren. Der Endnutzer kann auf eine bestimmte Serie klicken, um eine Folge auszuwählen.

Da sich übergeordnete/untergeordnete Hierarchien nur schwer konfigurieren und verwalten lassen, werden nur übergeordnete Datenspeicher empfohlen.

Ein Beispiel hierfür ist ein Datenspeicher für TV-Sendungen, der gut als Datenspeicher nur für übergeordnete Elemente geeignet ist. Hierbei stellt jedes übergeordnete Dokument eine TV-Sendung dar, die empfohlen werden kann, und 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, enthalten muss, Sie aber derzeit nur einzelne Elemente haben, müssen Sie übergeordnete Elemente für die Gruppen erstellen. Die Mindestinformationen, die Sie für ein Elternteil angeben müssen, sind id, title und categories. Weitere Informationen finden Sie im Abschnitt Dokumentfelder.

BigQuery-Schema für Media

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 Dokumentdaten 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 ignorieren. Stattdessen können Sie Ihr eigenes Schema verwenden und Felder aus Ihrem Schema den Media-Schlüsselattributen zuordnen. Wenn Sie Ihr Schema beim Erstellen des Datenspeichers für Media zuordnen möchten, verwenden Sie dieGoogle Cloud Console.

Wenn Sie ein eigenes Schema verwenden, muss es Felder enthalten, die den folgenden fünf Schlüsselattributen für Media zugeordnet werden können:

Erforderlicher Name der Haupteigenschaft Hinweise
title

String – erforderlich

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

uri

String – erforderlich

URI des Dokuments. Längenbeschränkung: 5.000 Zeichen.

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 Kategoriepfad, um bessere Ergebnisse zu erzielen.

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

Beispiel:

"categories": [ "sports > highlight" ]

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

media_available_time

Datum/Uhrzeit – erforderlich

Die Zeit, in der die Inhalte für Endnutzer verfügbar sind. Dieses Feld gibt an, wie aktuell ein Inhalt für Endnutzer ist. Der Zeitstempel sollte dem RFC 3339-Standard entsprechen.

Beispiel:

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

Informationen zum Filtern nach Verfügbarkeit finden Sie unter Empfehlungen filtern und Nach verfügbaren Dokumenten filtern.

media_duration

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

Dauer der Medieninhalte. Die Dauer sollte als String codiert werden. Die Codierung sollte mit der Codierung des google::protobuf::Duration-JSON-Strings übereinstimmen. Beispiel: „5s“, „1m“

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

Außerdem gibt es wichtige Attribute, die nicht erforderlich sind. Für Qualitätsergebnisse sollten Sie jedoch so viele wie möglich Ihrem Schema zuordnen.

Das sind die wichtigsten Attribute:

Name des Schlüsselattributs Hinweise
description

String – dringend empfohlen

Beschreibung des Dokuments. Längenbeschränkung: 5.000 Zeichen.

image

Objekt – optional – wiederholt

Stammschlüssel-Property zum Kapseln bildbezogener Properties.

image_name

String – optional

Name des Bildes. Längenbeschränkung von 128 Zeichen.

image_uri

String – optional

Der URI des Bildes. Längenbeschränkung: 5.000 Zeichen.

language-code

String – optional

Sprache des Titels/der Beschreibung und anderer String-Attribute. Verwenden Sie Sprachentags, die von BCP 47 definiert werden.

Bei Dokumentempfehlungen wird dieses Feld ignoriert und die Sprache des Texts wird automatisch erkannt. Das Dokument kann Text in verschiedenen Sprachen enthalten. Das Duplizieren von Dokumenten, die Text in mehreren Sprachen bereitstellen, kann jedoch die Leistung beeinträchtigen.

Dieses Feld wird für die Dokumentsuche verwendet. Wenn kein Wert festgelegt ist, wird standardmäßig „en-US“ verwendet. Beispiel: "language_code": "en-US"

media_aggregated_rating

Objekt – optional – wiederholt

Stammschlüsselattribut zum Kapseln der aggregate_rating-bezogenen Attribute.

media_aggregated_rating_count

Ganzzahl – optional

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

media_aggregated_rating_score

Doppelt – erforderlich

Die aggregierte Bewertung. Die Bewertung sollte auf den Bereich [1, 5] normalisiert werden.

media_aggregated_rating_source

String – erforderlich

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

media_content_index

Ganzzahl – optional

Inhaltsindex des Mediendokuments. Mit dem Feld „Inhaltsindex“ können Sie die Dokumente relativ zueinander sortieren. Die Episodennummer kann beispielsweise als Inhaltsindex verwendet werden.

Der Inhaltsindex muss eine nicht negative Ganzzahl sein.

Beispiel: "content_index": 0

media_content_rating

String – optional – wiederholt

Die Altersfreigabe, die für Systeme zur Inhaltswarnung und zum Filtern von Inhalten basierend auf der Zielgruppe verwendet wird. Pro Dokument sind maximal 100 Werte mit einer Längenbeschränkung von 128 Zeichen zulässig.

Mit diesem Tag können Sie Empfehlungsergebnisse filtern, indem Sie das Tag als Teil von RecommendRequest.filter übergeben.

Beispiel: content_rating: ["PG-13"]

media_country_of_origin

String – optional

Ursprungsland des Mediendokuments. Längenbeschränkung von 128 Zeichen.

Beispiel: "country_of_origin": "US"

media_expire_time

Datum/Uhrzeit – optional

Die Zeit, zu der der Inhalt für die Endnutzer abläuft. Dieses Feld gibt an, wie aktuell ein Inhalt für Endnutzer ist. Der Zeitstempel sollte dem RFC 3339-Standard entsprechen.

Beispiel:

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

Informationen zum Ausschließen abgelaufener Dokumente aus den Ergebnissen finden Sie unter Empfehlungen filtern und Mediensuche filtern.

live_event_start_time

Datum/Uhrzeit – optional

Die Uhrzeit, zu der das Live-Event beginnt. Der Zeitstempel sollte dem RFC 3339-Standard entsprechen.

Beispiel:

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

live_event_end_time

Datum/Uhrzeit – optional

Die Uhrzeit, zu der die Liveveranstaltung endet. Der Zeitstempel sollte dem RFC 3339-Standard entsprechen.

Beispiel:

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

media_filter_tag

String – optional – wiederholt

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

Mit diesem Tag können Sie Empfehlungsergebnisse filtern, indem Sie das Tag als Teil von RecommendRequest.filter übergeben.

Beispiel: "filter_tags": [ "filter_tag"]

media_hash_tag

String – optional – wiederholt

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

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

media_in_language

String – optional – wiederholt

Sprache der Medieninhalte. Verwenden Sie Sprachentags, die von BCP 47 definiert werden.

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

media_organization

Objekt – optional – wiederholt

Root-Schlüsselattribut zum Kapseln der organization-bezogenen Attribute.

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

media_organization_custom_role

String – optional

custom_role wird nur festgelegt, wenn role auf custom-role gesetzt ist. Muss ein UTF-8-codierter String mit einer Längenbeschränkung von 128 Zeichen sein. Muss dem Muster entsprechen: [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 Verlag: role = "publisher", rank = 1.

media_organization_role

String – erforderlich

Die Rolle der Organisation im Media-Element.

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

Root-Schlü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 wird nur festgelegt, wenn role auf custom-role gesetzt ist. Muss ein UTF-8-codierter String mit einer Längenbeschränkung von 128 Zeichen sein. Muss dem Muster entsprechen: [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, setzen Sie role auf custom-role 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 produziert 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 führen dazu, dass Dokumente so angereichert werden, dass sich das Ranking verbessert und Nutzer, die nach Titeln suchen, alternative Inhalte finden, die sie interessieren könnten.

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