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

Ressource : Schema

Définit la structure et la mise en page d'un type de données de document.

Représentation JSON
{
  "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.
}
Champs
name

string

Immuable. Nom complet de la ressource du schéma, au format projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}/schemas/{schema}.

Ce champ doit être une chaîne encodée au format UTF-8, dont la longueur ne doit pas dépasser 1 024 caractères.

fieldConfigs[]

object (FieldConfig)

Uniquement en sortie. Configurations pour les champs du schéma.

Champ d'union schema. Représentation du schéma. Vous devez fournir struct_schema ou json_schema. Sinon, une erreur INVALID_ARGUMENT est générée. schema ne peut être qu'un des éléments suivants :
structSchema

object (Struct format)

Représentation structurée du schéma.

jsonSchema

string

Représentation JSON du schéma.

FieldConfig

Configurations pour les champs d'un schéma. Par exemple, vous pouvez configurer un champ comme indexable ou consultable.

Représentation JSON
{
  "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
}
Champs
fieldPath

string

Obligatoire. Chemin d'accès au champ du schéma. Par exemple : title, description, release_info.release_year.

fieldType

enum (FieldType)

Uniquement en sortie. Type brut du champ.

indexableOption

enum (IndexableOption)

Si indexableOption est défini sur INDEXABLE_ENABLED, les valeurs de champ sont indexées afin de pouvoir être filtrées ou facettées dans SearchService.Search.

Si indexableOption n'est pas défini, le comportement du serveur est défini par défaut sur INDEXABLE_DISABLED pour les champs qui acceptent la définition d'options indexables. Pour les champs qui ne permettent pas de définir des options indexables, tels que object, boolean et les propriétés clés, le serveur ignore le paramètre indexableOption. Si vous définissez indexableOption pour ces champs, une erreur INVALID_ARGUMENT s'affiche.

dynamicFacetableOption

enum (DynamicFacetableOption)

Si dynamicFacetableOption est défini sur DYNAMIC_FACETABLE_ENABLED, les valeurs de champ sont disponibles pour l'attribut dynamique. Ne peut être DYNAMIC_FACETABLE_DISABLED que si FieldConfig.indexable_option est INDEXABLE_DISABLED. Dans le cas contraire, une erreur INVALID_ARGUMENT est renvoyée.

Si dynamicFacetableOption n'est pas défini, le comportement du serveur est défini par défaut sur DYNAMIC_FACETABLE_DISABLED pour les champs qui permettent de définir des options de facettes dynamiques. Pour les champs qui ne permettent pas de définir des options d'ajout d'attributs dynamiques, tels que object et boolean, le serveur ignore la définition des options d'ajout d'attributs dynamiques. Si vous définissez dynamicFacetableOption pour ces champs, une erreur INVALID_ARGUMENT s'affiche.

searchableOption

enum (SearchableOption)

Si searchableOption est défini sur SEARCHABLE_ENABLED, les valeurs de champ peuvent être recherchées à l'aide de requêtes textuelles dans SearchService.Search.

Si SEARCHABLE_ENABLED, mais que le type de champ est numérique, les valeurs de champ ne pourront pas être recherchées à l'aide de requêtes textuelles dans SearchService.Search, car aucun texte n'est associé aux champs numériques.

Si searchableOption n'est pas défini, le comportement du serveur est défini par défaut sur SEARCHABLE_DISABLED pour les champs qui permettent de définir des options de recherche. Seuls les champs string sans mappage de propriété de clé peuvent être définis sur searchableOption.

Pour les champs qui ne permettent pas de définir des options de recherche, le serveur ignore la définition des options de recherche. La définition de searchableOption pour ces champs génère une erreur INVALID_ARGUMENT.

retrievableOption

enum (RetrievableOption)

Si retrievableOption est défini sur RETRIEVABLE_ENABLED, les valeurs des champs sont incluses dans les résultats de recherche.

Si retrievableOption n'est pas défini, le comportement du serveur est défini par défaut sur RETRIEVABLE_DISABLED pour les champs qui permettent de définir des options récupérables. Pour les champs qui ne permettent pas de définir des options récupérables, tels que object et boolean, le serveur ignore la définition des options récupérables. La définition de retrievableOption pour ces champs génère une erreur INVALID_ARGUMENT.

completableOption

enum (CompletableOption)

Si completableOption est défini sur COMPLETABLE_ENABLED, les valeurs des champs sont directement utilisées et renvoyées en tant que suggestions pour la saisie semi-automatique dans CompletionService.CompleteQuery.

Si completableOption n'est pas défini, le comportement du serveur est défini par défaut sur COMPLETABLE_DISABLED pour les champs qui acceptent la définition d'options complétables, qui ne sont que des champs string. Pour les champs qui ne permettent pas de définir des options de complétion, le serveur ignore la définition des options de complétion. La définition de completableOption pour ces champs génère une erreur INVALID_ARGUMENT.

recsFilterableOption

enum (FilterableOption)

Si recsFilterableOption est défini sur FILTERABLE_ENABLED, les valeurs de champ peuvent être filtrées par expression de filtre dans RecommendationService.Recommend.

Si la valeur est FILTERABLE_ENABLED, mais que le type de champ est numérique, les valeurs de champ ne peuvent pas être filtrées par des requêtes textuelles dans RecommendationService.Recommend. Seuls les champs textuels sont acceptés.

Si recsFilterableOption n'est pas défini, le paramètre par défaut est FILTERABLE_DISABLED pour les champs qui permettent de définir des options filtrables.

Lorsqu'un champ défini sur [FILTERABLE_DISABLED] est filtré, un avertissement est généré et un résultat vide est renvoyé.

keyPropertyType

string

Uniquement en sortie. Type de la propriété clé à laquelle ce champ est mappé. Chaîne vide si cette propriété n'est pas annotée comme étant mappée à une propriété clé.

Les types d'exemples sont title et description. La liste complète est définie par keyPropertyMapping dans l'annotation du champ de schéma.

Si le champ de schéma comporte une annotation KeyPropertyMapping, les valeurs indexableOption et searchableOption de ce champ ne peuvent pas être modifiées.

advancedSiteSearchDataSources[]

enum (AdvancedSiteSearchDataSource)

Si ce champ est défini, seule la source correspondante sera indexée pour ce champ. Sinon, les valeurs provenant de différentes sources sont fusionnées.

En supposant qu'une page comporte <author, a> dans la balise Meta et <author, b> dans le plan de la page : si cette énumération est définie sur METATAGS, nous n'indexerons que <author, a> ; si cette énumération n'est pas définie, nous les fusionnerons et indexerons <author, [a, b]>.

schemaOrgPaths[]

string

Chemins de champ pour indexer l'attribut personnalisé à partir des données schema.org. Pour en savoir plus sur schema.org et ses types définis, consultez schema.org.

Elle n'est utilisée que dans le schéma de recherche avancée sur le site.

Actuellement, seul le chemin complet à partir de la racine est accepté. Le chemin complet d'un champ est construit en concaténant les noms de champs, en commençant par _root, avec un point . comme délimiteur. Exemples :

  • Date de publication de la racine : _root.datePublished
  • Date de publication des avis : _root.review.datePublished
metatagName

string

Facultatif. Nom de la balise meta trouvée sur la page HTML. Si l'utilisateur définit ce champ, la valeur de ce nom de balise meta sera utilisée pour extraire la balise meta. Si l'utilisateur ne définit pas ce champ, FieldConfig.field_path sera utilisé pour extraire la balise Meta.

FieldType

Type de valeur du champ dans le schéma.

Enums
FIELD_TYPE_UNSPECIFIED Le type de champ n'est pas spécifié.
OBJECT Le type de valeur du champ est "Objet".
STRING Le type de valeur du champ est "Chaîne".
NUMBER Le type de valeur du champ est "Nombre".
INTEGER Le type de valeur du champ est "Integer" (Entier).
BOOLEAN Le type de valeur du champ est booléen.
GEOLOCATION

Le type de valeur du champ est "Zone géographique". La géolocalisation est exprimée sous la forme d'un objet avec les clés suivantes :

  • id : chaîne représentant l'ID de l'emplacement
  • longitude : nombre représentant la coordonnée de longitude de l'emplacement
  • latitude : nombre représentant la coordonnée de latitude de l'emplacement
  • address : chaîne représentant l'adresse complète du lieu

latitude et longitude doivent toujours être fournis ensemble. Vous devez fournir au moins l'un des éléments suivants : a) address ou b) la paire latitude-longitude.

DATETIME

Le type de valeur du champ est "Datetime". La date et l'heure peuvent être exprimées de deux manières :

  • Nombre représentant les millisecondes écoulées depuis l'epoch
  • Chaîne représentant les millisecondes écoulées depuis l'epoch (par exemple, "1420070400001").
  • Chaîne représentant la date ou la date et l'heure au format ISO 8601 (par exemple, "2015-01-01" ou "2015-01-01T12:10:30Z").

IndexableOption

Paramètre des options d'indexation dans le schéma.

Enums
INDEXABLE_OPTION_UNSPECIFIED Valeur utilisée lorsqu'elle n'est pas définie.
INDEXABLE_ENABLED Option d'indexation activée pour un champ de schéma.
INDEXABLE_DISABLED L'option d'indexation est désactivée pour un champ de schéma.

DynamicFacetableOption

État de l'option d'ajout d'attributs dynamique d'un champ de schéma.

Enums
DYNAMIC_FACETABLE_OPTION_UNSPECIFIED Valeur utilisée lorsqu'elle n'est pas définie.
DYNAMIC_FACETABLE_ENABLED Option d'ajout d'attributs dynamique activée pour un champ de schéma.
DYNAMIC_FACETABLE_DISABLED Option d'ajout d'attributs dynamique désactivée pour un champ de schéma.

SearchableOption

Paramètre des options de recherche dans le schéma.

Enums
SEARCHABLE_OPTION_UNSPECIFIED Valeur utilisée lorsqu'elle n'est pas définie.
SEARCHABLE_ENABLED Option de recherche activée pour un champ de schéma.
SEARCHABLE_DISABLED L'option de recherche est désactivée pour un champ de schéma.

RetrievableOption

Paramètre des options "Récupérable" dans le schéma.

Enums
RETRIEVABLE_OPTION_UNSPECIFIED Valeur utilisée lorsqu'elle n'est pas définie.
RETRIEVABLE_ENABLED Option "Récupérable" activée pour un champ de schéma.
RETRIEVABLE_DISABLED L'option "Récupérable" est désactivée pour un champ de schéma.

CompletableOption

Paramètre des options à compléter dans le schéma.

Enums
COMPLETABLE_OPTION_UNSPECIFIED Valeur utilisée lorsqu'elle n'est pas définie.
COMPLETABLE_ENABLED Option "Complétable" activée pour un champ de schéma.
COMPLETABLE_DISABLED L'option "Complétable" est désactivée pour un champ de schéma.

FilterableOption

Définit l'option de filtrage pour les champs de schéma.

Enums
FILTERABLE_OPTION_UNSPECIFIED Valeur utilisée lorsqu'elle n'est pas définie.
FILTERABLE_ENABLED Option de filtrage activée pour un champ de schéma.
FILTERABLE_DISABLED L'option de filtrage est désactivée pour un champ de schéma.

AdvancedSiteSearchDataSource

Source facultative du champ de recherche avancée sur le site.

Enums
ADVANCED_SITE_SEARCH_DATA_SOURCE_UNSPECIFIED Valeur utilisée lorsqu'elle n'est pas définie.
METATAGS Récupérez la valeur à partir de la balise Meta.
PAGEMAP Récupérez la valeur à partir de la page de carte.
URI_PATTERN_MAPPING Récupérez la valeur des attributs définis par l'API SiteSearchEngineService.SetUriPatternDocumentData.
SCHEMA_ORG Récupérez la valeur à partir des données schema.org.

Méthodes

create

Crée un objet Schema.

delete

Supprime un Schema.

get

Récupère un Schema.

list

Obtient une liste de Schema.

patch

Met à jour un Schema.