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

Ressource : Schéma

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)
    }
  ],

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "structSchema": {
    object
  },
  "jsonSchema": string
  // End of mutually exclusive fields.
}
Champs
name

string

Immuable. Le 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.

Représentation schématique. Vous devez fournir struct_schema ou json_schema. Sinon, une erreur INVALID_ARGUMENT est générée. Vous trouverez ci-dessous la liste des champs mutuellement exclusifs. Au maximum, un seul des champs sera défini dans une réponse :
structSchema

object (Struct format)

Représentation structurée du schéma.

jsonSchema

string

Représentation JSON du schéma.

Fin des champs qui s'excluent mutuellement.

FieldConfig

Configurations des 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,
  "searchableFieldImportance": enum (SearchableFieldImportance)
}
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 des champs 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 permettent de définir des 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, l'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. La définition de dynamicFacetableOption pour ces champs génère une erreur INVALID_ARGUMENT.

searchableOption

enum (SearchableOption)

Si searchableOption est SEARCHABLE_ENABLED, les valeurs du champ sont consultables par requêtes textuelles dans SearchService.Search.

Si la valeur est 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 par défaut SEARCHABLE_DISABLED pour les champs qui prennent en charge la définition d'options de recherche. Seuls les champs string sans mappage de propriété de clé permettent de définir 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 acceptent la définition d'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 FILTERABLE_ENABLED mais que le type de champ est numérique, les valeurs du champ ne sont pas filtrables 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 cela n'est pas annoté comme mappé à une propriété clé.

Exemples de types : title, 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, indexableOption et searchableOption de ce champ ne peuvent pas être modifiés.

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 cet enum est défini sur METATAGS, nous n'indexerons que <author, a> ; si cet enum n'est pas défini, 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 méta sera utilisée pour extraire la balise méta. Si l'utilisateur ne définit pas ce champ, FieldConfig.field_path sera utilisé pour extraire la balise méta.

searchableFieldImportance

enum (SearchableFieldImportance)

Facultatif. Indique l'importance du champ lorsque searchableOption est défini sur SEARCHABLE_ENABLED.

Si searchableOption est défini sur SEARCHABLE_DISABLED, ce champ est ignoré.

Si searchableOption est SEARCHABLE_ENABLED et que la valeur est SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED, le comportement est DEFAULT_IMPORTANCE.

Pour en savoir plus, consultez Pondérer les champs pouvant faire l'objet d'une recherche.

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 une chaîne de caractères.
NUMBER Le type de valeur du champ est numérique.
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 : un nombre représentant la coordonnée de longitude de l'emplacement
  • latitude : un 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 :

  • un nombre représentant les millisecondes écoulées depuis l'époque
  • 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

La configuration des options indexables dans le schéma.

Enums
INDEXABLE_OPTION_UNSPECIFIED Valeur utilisée lorsqu'elle n'est pas définie.
INDEXABLE_ENABLED Option indexable 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 L'option d'ajout d'attributs dynamique est 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 "Completable" activée pour un champ de schéma.
COMPLETABLE_DISABLED Option "Complétable" 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 Option de filtrage désactivée pour un champ de schéma.

AdvancedSiteSearchDataSource

Source optionnelle du champ de recherche avancée du site.

Enums
ADVANCED_SITE_SEARCH_DATA_SOURCE_UNSPECIFIED Valeur utilisée lorsqu'elle n'est pas définie.
METATAGS Récupérer 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.

SearchableFieldImportance

Spécifie l'importance du champ pour la recherche. Il n'est pas prévu d'ajouter de nouvelles valeurs à cette énumération.

Enums
SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED Valeur utilisée lorsqu'elle n'est pas définie. Se comporte comme DEFAULT_IMPORTANCE si le champ est inclus dans l'index de recherche.
VERY_LOW_IMPORTANCE Fournit un signal minuscule pour la recherche.
LOW_IMPORTANCE Indique que le champ est utilisé pour la recherche, mais qu'il est moins important que celui par défaut.
DEFAULT_IMPORTANCE Importance par défaut. Équivalent au comportement précédent.
HIGH_IMPORTANCE Plus important que les champs par défaut.
VERY_HIGH_IMPORTANCE Champ le plus important pour la recherche.

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.