REST Resource: projects.locations.collections.dataStores.schemas

Ressource: Schema

Definiert die Struktur und das Layout eines Typs von Dokumentdaten

JSON-Darstellung
{
  "name": string,
  "fieldConfigs": [
    {
      object (FieldConfig)
    }
  ],

  // Union field schema can be only one of the following:
  "structSchema": {
    object
  },
  "jsonSchema": string
  // End of list of possible types for union field schema.
}
Felder
name

string

Nicht veränderbar. Der vollständige Ressourcenname des Schemas im Format projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}/schemas/{schema}

Dieses Feld muss ein UTF-8-codierter String mit einer Längenbeschränkung von 1.024 Zeichen sein.

fieldConfigs[]

object (FieldConfig)

Nur Ausgabe. Konfigurationen für Felder des Schemas.

Union-Feld schema. Schema-Darstellung. Es muss entweder struct_schema oder json_schema angegeben werden. Andernfalls wird der Fehler INVALID_ARGUMENT ausgegeben. Für schema ist nur einer der folgenden Werte zulässig:
structSchema

object (Struct format)

Die strukturierte Darstellung des Schemas

jsonSchema

string

Die JSON-Darstellung des Schemas.

FieldConfig

Konfigurationen für Felder eines Schemas. Sie können beispielsweise konfigurieren, ob ein Feld indexierbar oder suchbar ist.

JSON-Darstellung
{
  "fieldPath": string,
  "fieldType": enum (FieldType),
  "indexableOption": enum (IndexableOption),
  "dynamicFacetableOption": enum (DynamicFacetableOption),
  "searchableOption": enum (SearchableOption),
  "retrievableOption": enum (RetrievableOption),
  "completableOption": enum (CompletableOption),
  "recsFilterableOption": enum (FilterableOption),
  "keyPropertyType": string,
  "advancedSiteSearchDataSources": [
    enum (AdvancedSiteSearchDataSource)
  ],
  "schemaOrgPaths": [
    string
  ],
  "metatagName": string
}
Felder
fieldPath

string

Erforderlich. Feldpfad des Schemafelds. Beispiel: title, description, release_info.release_year.

fieldType

enum (FieldType)

Nur Ausgabe. Der Rohdatentyp des Felds.

indexableOption

enum (IndexableOption)

Wenn indexableOption INDEXABLE_ENABLED ist, werden Feldwerte indexiert, sodass sie in SearchService.Search gefiltert oder facettiert werden können.

Wenn indexableOption nicht festgelegt ist, wird serverseitig standardmäßig INDEXABLE_DISABLED für Felder verwendet, die das Festlegen der Optionen für „Indexierbar“ unterstützen. Bei Feldern, für die keine Optionen für „Indexierbar“ festgelegt werden können, z. B. object, boolean und Schlüsselattributen, wird die Einstellung indexableOption vom Server übersprungen. Wenn Sie indexableOption für diese Felder festlegen, wird der Fehler INVALID_ARGUMENT ausgegeben.

dynamicFacetableOption

enum (DynamicFacetableOption)

Wenn dynamicFacetableOption DYNAMIC_FACETABLE_ENABLED ist, sind Feldwerte für die dynamische Facette verfügbar. Kann nur DYNAMIC_FACETABLE_DISABLED sein, wenn FieldConfig.indexable_option INDEXABLE_DISABLED ist. Andernfalls wird der Fehler INVALID_ARGUMENT zurückgegeben.

Wenn dynamicFacetableOption nicht festgelegt ist, wird serverseitig standardmäßig DYNAMIC_FACETABLE_DISABLED für Felder verwendet, die das Festlegen von Optionen für „Als dynamisches Attribut verwendbar“ unterstützen. Bei Feldern, für die keine Optionen für „Als dynamisches Attribut verwendbar“ festgelegt werden können, z. B. object und boolean, überspringt der Server die Festlegung dieser Optionen. Wenn Sie dynamicFacetableOption für diese Felder festlegen, wird der Fehler INVALID_ARGUMENT ausgegeben.

searchableOption

enum (SearchableOption)

Wenn searchableOption SEARCHABLE_ENABLED ist, sind Feldwerte in SearchService.Search über Textabfragen suchbar.

Wenn SEARCHABLE_ENABLED festgelegt, der Feldtyp jedoch numerisch ist, sind Feldwerte in SearchService.Search nicht über Textabfragen suchbar, da numerischen Feldern keine Textwerte zugeordnet sind.

Wenn searchableOption nicht festgelegt ist, wird serverseitig standardmäßig SEARCHABLE_DISABLED für Felder verwendet, die das Festlegen von Optionen für „Suchbar“ unterstützen. Nur für string-Felder ohne Zuordnung von Schlüsselattributen kann searchableOption festgelegt werden.

Bei Feldern, für die keine Optionen für „Suchbar“ festgelegt werden können, überspringt der Server die Festlegung dieser Optionen. Wenn Sie searchableOption für diese Felder festlegen, wird der Fehler INVALID_ARGUMENT ausgegeben.

retrievableOption

enum (RetrievableOption)

Wenn retrievableOption RETRIEVABLE_ENABLED ist, werden Feldwerte in die Suchergebnisse aufgenommen.

Wenn retrievableOption nicht festgelegt ist, wird serverseitig standardmäßig RETRIEVABLE_DISABLED für Felder verwendet, die das Festlegen von Optionen für „Abrufbar“ unterstützen. Bei Feldern, für die keine Optionen für „Abrufbar“ festgelegt werden können, z. B. object und boolean, überspringt der Server die Festlegung dieser Optionen. Wenn Sie retrievableOption für diese Felder festlegen, wird der Fehler INVALID_ARGUMENT ausgegeben.

completableOption

enum (CompletableOption)

Wenn completableOption COMPLETABLE_ENABLED ist, werden die Feldwerte direkt verwendet und als Vorschläge für die automatische Vervollständigung in CompletionService.CompleteQuery zurückgegeben.

Wenn completableOption nicht festgelegt ist, wird serverseitig standardmäßig COMPLETABLE_DISABLED für Felder verwendet, die das Festlegen von Optionen für „Vervollständigbar“ unterstützen. Das sind nur string-Felder. Bei Feldern, für die keine Optionen für „Vervollständigbar“ festgelegt werden können, überspringt der Server die Festlegung dieser Optionen. Wenn Sie completableOption für diese Felder festlegen, wird der Fehler INVALID_ARGUMENT ausgegeben.

recsFilterableOption

enum (FilterableOption)

Wenn recsFilterableOption FILTERABLE_ENABLED ist, können Feldwerte nach Filterausdruck in RecommendationService.Recommend gefiltert werden.

Wenn FILTERABLE_ENABLED festgelegt, der Feldtyp aber numerisch ist, können Feldwerte in RecommendationService.Recommend nicht nach Textabfragen gefiltert werden. Es werden nur Textfelder unterstützt.

Wenn recsFilterableOption nicht festgelegt ist, ist die Standardeinstellung FILTERABLE_DISABLED für Felder, die das Festlegen filterbarer Optionen unterstützen.

Wenn ein Feld mit [FILTERABLE_DISABLED] gefiltert wird, wird eine Warnung generiert und ein leeres Ergebnis zurückgegeben.

keyPropertyType

string

Nur Ausgabe. Typ des Schlüsselattributs, dem dieses Feld zugeordnet ist. Leerer String, wenn dies nicht als einem Schlüsselattribut zugeordnet gekennzeichnet ist.

Beispieltypen sind title, description. Die vollständige Liste wird durch keyPropertyMapping in der Annotation des Schemas definiert.

Wenn das Schemafeld die Annotation KeyPropertyMapping hat, können indexableOption und searchableOption dieses Felds nicht geändert werden.

advancedSiteSearchDataSources[]

enum (AdvancedSiteSearchDataSource)

Wenn dieses Feld festgelegt ist, wird nur die entsprechende Quelle für dieses Feld indexiert. Andernfalls werden die Werte aus verschiedenen Quellen zusammengeführt.

Angenommen, eine Seite hat <author, a> im Meta-Tag und <author, b> in der Seitenübersicht: Wenn dieser Enum-Wert auf METATAGS festgelegt ist, wird nur <author, a> indexiert. Wenn dieser Enum-Wert nicht festgelegt ist, werden die beiden Werte zusammengeführt und <author, [a, b]> wird indexiert.

schemaOrgPaths[]

string

Feldpfade zum Indexieren benutzerdefinierter Attribute aus schema.org-Daten. Weitere Informationen zu schema.org und den zugehörigen definierten Typen finden Sie unter schema.org.

Es wird nur für das Schema der erweiterten Site Search verwendet.

Derzeit wird nur der vollständige Pfad ab dem Stammelement unterstützt. Der vollständige Pfad zu einem Feld wird durch Verketten von Feldnamen, beginnend mit _root, mit einem Punkt . als Trennzeichen erstellt. Beispiele:

  • Veröffentlichungsdatum des Stammelements: _root.datePublished
  • Veröffentlichungsdatum der Rezensionen: _root.review.datePublished
metatagName

string

Optional. Der Name des Meta-Tags, der auf der HTML-Seite gefunden wurde. Wenn der Nutzer dieses Feld definiert, wird der Wert dieses Meta-Tag-Namens verwendet, um das Meta-Tag zu extrahieren. Wenn der Nutzer dieses Feld nicht definiert, wird FieldConfig.field_path verwendet, um das Meta-Tag zu extrahieren.

FieldType

Typ des Feldwerts im Schema.

Enums
FIELD_TYPE_UNSPECIFIED Der Feldtyp ist nicht angegeben.
OBJECT Der Feldwerttyp ist „Objekt“.
STRING Der Feldwerttyp ist „String“.
NUMBER Der Feldwerttyp ist „Zahl“.
INTEGER Der Feldwerttyp ist „Ganzzahl“.
BOOLEAN Der Feldwerttyp ist „Boolesch“.
GEOLOCATION

Der Feldwerttyp ist „Standortbestimmung“. Die Standortbestimmung wird als Objekt mit den folgenden Schlüsseln ausgedrückt:

  • id: ein String, der die Standort-ID darstellt
  • longitude: eine Zahl, die den Längengrad des Standorts darstellt
  • latitude: Eine Zahl, die den Breitengrad des Standorts darstellt
  • address: Ein String, der die vollständige Adresse des Standorts darstellt

latitude und longitude müssen immer zusammen angegeben werden. Es muss mindestens a) address oder b) ein latitude-longitude-Paar angegeben werden.

DATETIME

Der Feldwerttyp ist „Datum/Uhrzeit“. „Datum/Uhrzeit“ kann so ausgedrückt werden:

  • Eine Zahl, die Millisekunden seit der Epoche darstellt
  • Ein String, der Millisekunden seit der Epoche darstellt, z. B. "1420070400001"
  • Ein String, der das Datum bzw. Datum und Uhrzeit im ISO 8601-Format darstellt, z. B. "2015-01-01" oder "2015-01-01T12:10:30Z"

IndexableOption

Die Einstellung der Optionen für „Indexierbar“ im Schema.

Enums
INDEXABLE_OPTION_UNSPECIFIED Wert, der verwendet wird, wenn nichts festgelegt ist.
INDEXABLE_ENABLED Die Option „Indexierbar“ ist für ein Schemafeld aktiviert.
INDEXABLE_DISABLED Die Option „Indexierbar“ ist für ein Schemafeld deaktiviert.

DynamicFacetableOption

Der Status der Option „Als dynamisches Attribut verwendbar“ eines Schemafelds.

Enums
DYNAMIC_FACETABLE_OPTION_UNSPECIFIED Wert, der verwendet wird, wenn nichts festgelegt ist.
DYNAMIC_FACETABLE_ENABLED Die Option „Als dynamisches Attribut verwendbar“ ist für ein Schemafeld aktiviert.
DYNAMIC_FACETABLE_DISABLED Die Option „Als dynamisches Attribut verwendbar“ ist für ein Schemafeld deaktiviert.

SearchableOption

Die Einstellung der Optionen für „Suchbar“ im Schema.

Enums
SEARCHABLE_OPTION_UNSPECIFIED Wert, der verwendet wird, wenn nichts festgelegt ist.
SEARCHABLE_ENABLED Die Option „Suchbar“ ist für ein Schemafeld aktiviert.
SEARCHABLE_DISABLED Die Option „Suchbar“ ist für ein Schemafeld deaktiviert.

RetrievableOption

Die Einstellung der Optionen für „Abrufbar“ im Schema.

Enums
RETRIEVABLE_OPTION_UNSPECIFIED Wert, der verwendet wird, wenn nichts festgelegt ist.
RETRIEVABLE_ENABLED Die Option „Abrufbar“ ist für ein Schemafeld aktiviert.
RETRIEVABLE_DISABLED Die Option „Abrufbar“ ist für ein Schemafeld deaktiviert.

CompletableOption

Die Einstellung der Optionen für „Vervollständigbar“ im Schema.

Enums
COMPLETABLE_OPTION_UNSPECIFIED Wert, der verwendet wird, wenn nichts festgelegt ist.
COMPLETABLE_ENABLED Die Option „Vervollständigbar“ ist für ein Schemafeld aktiviert.
COMPLETABLE_DISABLED Die Option „Vervollständigbar“ ist für ein Schemafeld deaktiviert.

FilterableOption

Legt die Option „Filterbar“ für Schemafelder fest.

Enums
FILTERABLE_OPTION_UNSPECIFIED Wert, der verwendet wird, wenn nichts festgelegt ist.
FILTERABLE_ENABLED Die Option „Filterbar“ ist für ein Schemafeld aktiviert.
FILTERABLE_DISABLED Die Option „Filterbar“ ist für ein Schemafeld deaktiviert.

AdvancedSiteSearchDataSource

Optionale Quelle des Felds für die erweiterte Site Search.

Enums
ADVANCED_SITE_SEARCH_DATA_SOURCE_UNSPECIFIED Wert, der verwendet wird, wenn nichts festgelegt ist.
METATAGS Wert aus Meta-Tag abrufen.
PAGEMAP Wert aus der Seitenübersicht abrufen.
URI_PATTERN_MAPPING Wert aus den Attributen abrufen, die von der API SiteSearchEngineService.SetUriPatternDocumentData festgelegt wurden.
SCHEMA_ORG Wert aus schema.org-Daten abrufen.

Methoden

create

Erstellt ein Schema

delete

Löscht ein Schema

get

Ruft ein Schema ab

list

Ruft eine Liste der Schemas ab

patch

Aktualisiert ein Schema