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

Recurso: Esquema

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

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

string

Inmutable. El nombre completo del recurso del esquema, en 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 1,024 caracteres.

fieldConfigs[]

object (FieldConfig)

Solo salida. Son las configuraciones de los campos del esquema.

Es la representación del esquema. Se debe proporcionar struct_schema o json_schema; de lo contrario, se arrojará un error INVALID_ARGUMENT. A continuación, se incluye una lista de campos mutuamente excluyentes. En una respuesta, se establecerá, como máximo, uno de los siguientes campos:
structSchema

object (Struct format)

Es la representación estructurada del esquema.

jsonSchema

string

La representación JSON del esquema.

Fin de los campos mutuamente exclusivos.

FieldConfig

Son las configuraciones de los campos de un esquema. Por ejemplo, configurar un campo como indexable o apto para búsquedas

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,
  "searchableFieldImportance": enum (SearchableFieldImportance)
}
Campos
fieldPath

string

Obligatorio. Es la ruta del campo del esquema. Por ejemplo: title, description, release_info.release_year.

fieldType

enum (FieldType)

Solo salida. Tipo de terreno sin tratar.

indexableOption

enum (IndexableOption)

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

Si no se configura indexableOption, el comportamiento predeterminado del servidor será INDEXABLE_DISABLED para los campos que admiten 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 para esos campos generará un error de INVALID_ARGUMENT.

dynamicFacetableOption

enum (DynamicFacetableOption)

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

Si no se establece dynamicFacetableOption, el comportamiento predeterminado del servidor es DYNAMIC_FACETABLE_DISABLED para los campos que admiten 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 la configuración de dynamicFacetableOption para esos campos generará el 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 del campo no se podrán buscar mediante consultas de texto en SearchService.Search, ya que no hay valores de texto asociados a los campos numéricos.

Si no se establece searchableOption, el comportamiento predeterminado del servidor es SEARCHABLE_DISABLED para los campos que admiten la configuración de opciones de búsqueda. Solo los campos string que no tienen una asignación de propiedades de clave admiten el parámetro de configuración searchableOption.

En el caso de los campos que no admiten la configuración de opciones de búsqueda, el servidor omitirá la configuración de opciones de búsqueda, y la configuración de searchableOption para esos campos generará un error de INVALID_ARGUMENT.

retrievableOption

enum (RetrievableOption)

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

Si retrievableOption no está configurado, el comportamiento del servidor establece por defecto RETRIEVABLE_DISABLED para los campos que admiten 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 la configuración de retrievableOption para esos campos generará un error INVALID_ARGUMENT.

completableOption

enum (CompletableOption)

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

Si completableOption no está configurado, el comportamiento del servidor por defecto es COMPLETABLE_DISABLED para los campos que admiten la configuración de opciones completables, que son simplemente campos string. En el caso de los campos que no admiten la configuración de opciones completables, el servidor omitirá la configuración de opciones completables, y la configuración de completableOption para esos campos generará el 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 es FILTERABLE_ENABLED, pero el tipo de campo es numérico, los valores de campo no se pueden filtrar con búsquedas de texto en RecommendationService.Recommend. Solo se admiten campos de texto.

Si no se establece recsFilterableOption, el parámetro de configuración predeterminado es FILTERABLE_DISABLED para los campos que admiten la configuración de opciones filtrables.

Cuando se filtra un campo establecido en [FILTERABLE_DISABLED], se genera una advertencia y se devuelve un resultado vacío.

keyPropertyType

string

Solo salida. Es el tipo de la propiedad clave a la que se asigna este campo. Cadena vacía si no se anotó como asignado a una propiedad de clave.

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

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

advancedSiteSearchDataSources[]

enum (AdvancedSiteSearchDataSource)

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

Suponiendo una página con <author, a> en la etiqueta meta y <author, b> en el mapa de página: si esta enumeración está configurada en METATAGS, solo indexaremos <author, a>; si esta enumeración no está configurada, las fusionaremos e indexaremos <author, [a, b]>.

schemaOrgPaths[]

string

Son las rutas de campo para indexar el atributo personalizado de los datos de schema.org. Puedes encontrar 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 a un campo se construye concatenando los nombres de los campos, comenzando desde _root, con un punto . como delimitador. Ejemplos:

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

string

Es opcional. Es el nombre de la etiqueta meta que se encontró en la página HTML. Si el usuario define este campo, se usará el valor de este nombre de etiqueta META para extraer la etiqueta META. Si el usuario no define este campo, se usará FieldConfig.field_path para extraer la etiqueta meta.

searchableFieldImportance

enum (SearchableFieldImportance)

Es opcional. Especifica la importancia del campo cuando searchableOption es SEARCHABLE_ENABLED.

Si searchableOption es SEARCHABLE_DISABLED, este campo se ignora.

Si searchableOption es SEARCHABLE_ENABLED y esto es SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED, se comporta como DEFAULT_IMPORTANCE.

Para obtener más información, consulta cómo ponderar los campos de búsqueda.

FieldType

Es el tipo de valor del campo en el esquema.

Enums
FIELD_TYPE_UNSPECIFIED El tipo de campo no está especificado.
OBJECT El tipo de valor del campo es Objeto.
STRING El tipo de valor del campo es String.
NUMBER El tipo de valor del campo es Number.
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 ubicación
  • longitude: un número que representa la coordenada de longitud de la ubicación
  • latitude: Es un número que representa la coordenada de latitud de la ubicación.
  • address: Es una cadena que representa la dirección completa de la ubicación.

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

DATETIME

El tipo de valor del campo es Fecha y hora. La fecha y hora se pueden expresar de dos maneras:

  • Un número que representa los milisegundos transcurridos desde la época
  • una cadena que representa los milisegundos transcurridos desde la época. Por ejemplo: "1420070400001"
  • Es una cadena que representa la fecha o la fecha y hora en formato ISO 8601, p. ej., "2015-01-01" o "2015-01-01T12:10:30Z".

IndexableOption

Es la configuración de las opciones indexables en el esquema.

Enums
INDEXABLE_OPTION_UNSPECIFIED Es el valor que se usa cuando no se establece.
INDEXABLE_ENABLED Opción indexable habilitada para un campo de esquema.
INDEXABLE_DISABLED Opción indexable inhabilitada para un campo de esquema.

DynamicFacetableOption

Es el estado de la opción de categorización dinámica en facetas de un campo de esquema.

Enums
DYNAMIC_FACETABLE_OPTION_UNSPECIFIED Es el valor que se usa cuando no se establece.
DYNAMIC_FACETABLE_ENABLED Opción de creación de facetas dinámicas habilitada para un campo de esquema.
DYNAMIC_FACETABLE_DISABLED La opción de tabla de facetas dinámica está deshabilitada para un campo de esquema.

SearchableOption

Es la configuración de las opciones de búsqueda en el esquema.

Enums
SEARCHABLE_OPTION_UNSPECIFIED Es el valor que se usa cuando no se establece.
SEARCHABLE_ENABLED Opción de búsqueda habilitada para un campo de esquema.
SEARCHABLE_DISABLED Opción de búsqueda inhabilitada para un campo de esquema.

RetrievableOption

Es el parámetro de configuración de las opciones recuperables en el esquema.

Enums
RETRIEVABLE_OPTION_UNSPECIFIED Es el valor que se usa cuando no se establece.
RETRIEVABLE_ENABLED Opción recuperable habilitada para un campo de esquema.
RETRIEVABLE_DISABLED Opción recuperable inhabilitada para un campo de esquema.

CompletableOption

Es la configuración de las opciones completables en el esquema.

Enums
COMPLETABLE_OPTION_UNSPECIFIED Es el valor que se usa cuando no se establece.
COMPLETABLE_ENABLED Opción completable habilitada para un campo de esquema.
COMPLETABLE_DISABLED Opción de completado inhabilitada para un campo de esquema.

FilterableOption

Establece la opción de filtrado para los campos del esquema.

Enums
FILTERABLE_OPTION_UNSPECIFIED Es el valor que se usa cuando no se establece.
FILTERABLE_ENABLED Opción de filtrado habilitada para un campo de esquema.
FILTERABLE_DISABLED La opción de filtrado está deshabilitada para un campo de esquema.

AdvancedSiteSearchDataSource

Es la fuente opcional del campo de búsqueda avanzada en el sitio.

Enums
ADVANCED_SITE_SEARCH_DATA_SOURCE_UNSPECIFIED Es el valor que se usa cuando no se establece.
METATAGS Recupera el valor de la metaetiqueta.
PAGEMAP Recupera el valor del mapa de la página.
URI_PATTERN_MAPPING Recuperar el valor de los atributos establecidos por la API SiteSearchEngineService.SetUriPatternDocumentData.
SCHEMA_ORG Recupera el valor de los datos de schema.org.

SearchableFieldImportance

Especifica la importancia del campo para la búsqueda. No se espera que se agreguen valores nuevos a esta enumeración.

Enums
SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED Es el valor que se usa cuando no se establece. Se comporta como DEFAULT_IMPORTANCE si el campo admite búsquedas.
VERY_LOW_IMPORTANCE Proporciona un indicador pequeño para la búsqueda.
LOW_IMPORTANCE Indica que el campo se usa para la búsqueda, pero es menos importante que el valor predeterminado.
DEFAULT_IMPORTANCE Es la importancia predeterminada. Equivalente al comportamiento anterior.
HIGH_IMPORTANCE Más importantes que los campos predeterminados.
VERY_HIGH_IMPORTANCE Es el campo más importante para la búsqueda.

Métodos

create

Crea un Schema.

delete

Borra un Schema.

get

Obtienes una Schema.

list

Obtiene una lista de Schemas.

patch

Actualiza un Schema.