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

Recurso: Schema

Define la estructura y el diseño de un tipo de datos de documento.

Representación 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.
}
Campos
name

string

Inmutable. Nombre completo del recurso del esquema, con el formato projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}/schemas/{schema}.

Este campo debe ser una cadena codificada en UTF-8 con un límite de 1024 caracteres.

fieldConfigs[]

object (FieldConfig)

Solo de salida. Configuraciones de los campos del esquema.

Campo de unión schema. Representación de esquemas. Se debe proporcionar struct_schema o json_schema. De lo contrario, se producirá un error INVALID_ARGUMENT. schema solo puede ser una de estas dos opciones:
structSchema

object (Struct format)

Representación estructurada del esquema.

jsonSchema

string

Representación JSON del esquema.

FieldConfig

Configuraciones de los campos de un esquema. Por ejemplo, configurar un campo para que se pueda indexar o buscar.

Representación 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
}
Campos
fieldPath

string

Obligatorio. Ruta del campo del esquema. Por ejemplo: title, description y release_info.release_year.

fieldType

enum (FieldType)

Solo de salida. Tipo sin formato del campo.

indexableOption

enum (IndexableOption)

Si indexableOption es INDEXABLE_ENABLED, los valores de los campos se indexan para que se puedan filtrar o desglosar en SearchService.Search.

Si indexableOption no está definido, el comportamiento del servidor será INDEXABLE_DISABLED de forma predeterminada en los campos que admitan la configuración de opciones indexables. En el caso de los campos que no admiten la configuración de opciones indexables, como object, boolean y las propiedades de clave, el servidor omitirá la configuración de indexableOption y la configuración de indexableOption en esos campos generará un error INVALID_ARGUMENT.

dynamicFacetableOption

enum (DynamicFacetableOption)

Si dynamicFacetableOption es DYNAMIC_FACETABLE_ENABLED, los valores de campo están disponibles para la faceta dinámica. Solo puede ser DYNAMIC_FACETABLE_DISABLED si FieldConfig.indexable_option es INDEXABLE_DISABLED. De lo contrario, se devolverá un error INVALID_ARGUMENT.

Si dynamicFacetableOption no se define, el comportamiento del servidor será DYNAMIC_FACETABLE_DISABLED de forma predeterminada en los campos que admitan la configuración de opciones facetables dinámicas. En el caso de los campos que no admiten la configuración de opciones facetables dinámicas, como object y boolean, el servidor omitirá la configuración de opciones facetables dinámicas y, si se define dynamicFacetableOption en esos campos, se producirá un error INVALID_ARGUMENT.

searchableOption

enum (SearchableOption)

Si searchableOption es SEARCHABLE_ENABLED, los valores de los campos se pueden buscar mediante consultas de texto en SearchService.Search.

Si SEARCHABLE_ENABLED, pero el tipo de campo es numérico, los valores de campo no se podrán buscar mediante consultas de texto en SearchService.Search, ya que no hay valores de texto asociados a campos numéricos.

Si searchableOption no está definido, el comportamiento predeterminado del servidor será SEARCHABLE_DISABLED en los campos que admitan la configuración de opciones de búsqueda. Solo se puede definir searchableOption en los campos string que no tengan ninguna asignación de propiedad de clave.

En el caso de los campos que no admitan la configuración de opciones de búsqueda, el servidor omitirá la configuración de opciones de búsqueda y, si se define searchableOption en esos campos, se producirá un error INVALID_ARGUMENT.

retrievableOption

enum (RetrievableOption)

Si retrievableOption es RETRIEVABLE_ENABLED, los valores de los campos se incluyen en los resultados de búsqueda.

Si retrievableOption no se define, el comportamiento del servidor será RETRIEVABLE_DISABLED de forma predeterminada en los campos que admitan la configuración de opciones recuperables. En el caso de los campos que no admiten la configuración de opciones recuperables, como object y boolean, el servidor omitirá la configuración de opciones recuperables y, si se define retrievableOption en esos campos, se producirá un error INVALID_ARGUMENT.

completableOption

enum (CompletableOption)

Si completableOption es COMPLETABLE_ENABLED, los valores de los campos se usan directamente y se devuelven como sugerencias para Autocompletar en CompletionService.CompleteQuery.

Si completableOption no se define, el comportamiento del servidor será COMPLETABLE_DISABLED de forma predeterminada en los campos que admitan la configuración de opciones completables, que son solo los campos string. En el caso de los campos que no admitan la configuración de opciones completables, el servidor omitirá la configuración de opciones completables y, si se define completableOption en esos campos, se producirá un error INVALID_ARGUMENT.

recsFilterableOption

enum (FilterableOption)

Si recsFilterableOption es FILTERABLE_ENABLED, los valores de los campos se pueden filtrar por expresión de filtro en RecommendationService.Recommend.

Si FILTERABLE_ENABLED, pero el tipo de campo es numérico, los valores de campo no se pueden filtrar por consultas de texto en RecommendationService.Recommend. Solo se admiten campos de texto.

Si recsFilterableOption no se define, el valor predeterminado es FILTERABLE_DISABLED para los campos que admiten la configuración de opciones filtrables.

Cuando se filtra un campo con el valor [FILTERABLE_DISABLED], se genera una advertencia y se devuelve un resultado vacío.

keyPropertyType

string

Solo de salida. Tipo de la propiedad de clave a la que se asigna este campo. Cadena vacía si no se ha anotado como asignada a una propiedad clave.

Los tipos de ejemplos son title y description. La lista completa se define mediante keyPropertyMapping en la anotación del campo de esquema.

Si el campo de esquema tiene una anotación KeyPropertyMapping, no se pueden modificar indexableOption ni searchableOption de este campo.

advancedSiteSearchDataSources[]

enum (AdvancedSiteSearchDataSource)

Si se define este campo, solo se indexará la fuente correspondiente para este campo. De lo contrario, los valores de diferentes fuentes se fusionan.

Supongamos que una página tiene <author, a> en la etiqueta meta y <author, b> en el mapa de la página. Si este enum se define como METATAGS, solo indexaremos <author, a>. Si no se define, combinaremos ambos valores e indexaremos <author, [a, b]>.

schemaOrgPaths[]

string

Rutas de campo para indexar atributos personalizados a partir de datos de schema.org. Puedes consultar más detalles sobre schema.org y sus tipos definidos en schema.org.

Solo se usa en el esquema de búsqueda avanzada en el sitio.

Actualmente, solo se admite la ruta completa desde la raíz. La ruta completa de un campo se crea concatenando nombres de campos, empezando por _root, con un punto . como delimitador. Ejemplos:

  • Fecha de publicación de la raíz: _root.datePublished
  • Fecha de publicación de las reseñas: _root.review.datePublished
metatagName

string

Opcional. El nombre de la metaeetiqueta que se ha encontrado en la página HTML. Si el usuario define este campo, el valor de este nombre de metatag se usará para extraer el metatag. Si el usuario no define este campo, se usará FieldConfig.field_path para extraer la metatag.

FieldType

Tipo de valor del campo en el esquema.

Enumeraciones
FIELD_TYPE_UNSPECIFIED El tipo de campo no está especificado.
OBJECT El tipo de valor del campo es Object.
STRING El tipo de valor del campo es String.
NUMBER El tipo de valor del campo es Número.
INTEGER El tipo de valor del campo es Integer.
BOOLEAN El tipo de valor del campo es booleano.
GEOLOCATION

El tipo de valor del campo es Geolocalización. La geolocalización se expresa como un objeto con las siguientes claves:

  • id: cadena que representa el ID de la ubicación.
  • longitude: número que representa la coordenada de longitud de la ubicación
  • latitude: número que representa la coordenada de latitud de la ubicación
  • address: cadena que representa la dirección completa de la ubicación.

latitude y longitude siempre deben proporcionarse juntos. Debe proporcionarse al menos una de las siguientes opciones: a) address o b) el par latitude-longitude.

DATETIME

El tipo de valor del campo es Datetime. La fecha y la hora se pueden expresar de dos formas:

  • Número que representa los milisegundos transcurridos desde el inicio del registro de tiempo.
  • Cadena que representa los milisegundos transcurridos desde el inicio del registro de tiempo. Por ejemplo, "1420070400001".
  • Cadena que representa la fecha o la fecha y la hora en formato ISO 8601. Por ejemplo, "2015-01-01" o "2015-01-01T12:10:30Z".

IndexableOption

El ajuste de las opciones indexables en el esquema.

Enumeraciones
INDEXABLE_OPTION_UNSPECIFIED Valor que se usa cuando no se define.
INDEXABLE_ENABLED Opción indexable habilitada en un campo de esquema.
INDEXABLE_DISABLED Opción indexable inhabilitada en un campo de esquema.

DynamicFacetableOption

El estado de la opción de facetado dinámico de un campo de esquema.

Enumeraciones
DYNAMIC_FACETABLE_OPTION_UNSPECIFIED Valor que se usa cuando no se define.
DYNAMIC_FACETABLE_ENABLED Opción de facetado dinámico habilitada en un campo de esquema.
DYNAMIC_FACETABLE_DISABLED Opción de facetado dinámico inhabilitada en un campo de esquema.

SearchableOption

El ajuste de las opciones de búsqueda en el esquema.

Enumeraciones
SEARCHABLE_OPTION_UNSPECIFIED Valor que se usa cuando no se define.
SEARCHABLE_ENABLED Opción de búsqueda habilitada para un campo de esquema.
SEARCHABLE_DISABLED Opción de búsqueda inhabilitada en un campo de esquema.

RetrievableOption

El ajuste de las opciones recuperables en el esquema.

Enumeraciones
RETRIEVABLE_OPTION_UNSPECIFIED Valor que se usa cuando no se define.
RETRIEVABLE_ENABLED Opción de recuperación habilitada para un campo de esquema.
RETRIEVABLE_DISABLED Opción de recuperación inhabilitada para un campo de esquema.

CompletableOption

Configuración de las opciones de Completable en el esquema.

Enumeraciones
COMPLETABLE_OPTION_UNSPECIFIED Valor que se usa cuando no se define.
COMPLETABLE_ENABLED Opción de completado habilitada para un campo de esquema.
COMPLETABLE_DISABLED Opción de autocompletado inhabilitada para un campo de esquema.

FilterableOption

Define la opción de filtrado para los campos de esquema.

Enumeraciones
FILTERABLE_OPTION_UNSPECIFIED Valor que se usa cuando no se define.
FILTERABLE_ENABLED Opción de filtro habilitada para un campo de esquema.
FILTERABLE_DISABLED Opción de filtrado inhabilitada en un campo de esquema.

AdvancedSiteSearchDataSource

Fuente opcional del campo de búsqueda avanzada en el sitio.

Enumeraciones
ADVANCED_SITE_SEARCH_DATA_SOURCE_UNSPECIFIED Valor que se usa cuando no se define.
METATAGS Recupera el valor de la etiqueta meta.
PAGEMAP Recupera el valor del mapa de la página.
URI_PATTERN_MAPPING Recupera el valor de los atributos definidos por la API SiteSearchEngineService.SetUriPatternDocumentData.
SCHEMA_ORG Recupera el valor de los datos de schema.org.

Métodos

create

Crea un Schema.

delete

Elimina un Schema.

get

Obtiene un Schema.

list

Obtiene una lista de Schemas.

patch

Actualiza un Schema.