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

Recurso: Schema

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

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. Es el 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 longitud de 1,024 caracteres.

fieldConfigs[]

object (FieldConfig)

Solo salida. Son los parámetros de configuración de los campos del esquema.

Campo de unión schema. Es la representación del esquema. Se debe proporcionar struct_schema o json_schema. De lo contrario, se arrojará un error INVALID_ARGUMENT. schema puede ser solo una de las siguientes opciones:
structSchema

object (Struct format)

Es la representación estructurada del esquema.

jsonSchema

string

Es la representación JSON del esquema.

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
}
Campos
fieldPath

string

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

fieldType

enum (FieldType)

Solo salida. Es el tipo sin procesar del campo.

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 es 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 clave, el servidor omitirá la configuración de indexableOption, y la configuración de indexableOption para esos campos arrojará 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 puede 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 de categorización dinámica en facetas, como object y boolean, el servidor omitirá la configuración de opciones de categorización dinámica en facetas, 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 con consultas de texto en SearchService.Search.

Si es SEARCHABLE_ENABLED, pero el tipo de campo es numérico, los valores del campo no se podrán buscar con 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 propiedad 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 de los campos se incluyen en los resultados de la búsqueda.

Si no se configura retrievableOption, el comportamiento predeterminado del servidor será 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 de 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 no se establece completableOption, el comportamiento predeterminado del servidor es COMPLETABLE_DISABLED para los campos que admiten la configuración de opciones completables, que son solo los 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 del campo 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 muestra 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 ejemplos 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 combinan los valores de diferentes fuentes.

Si se supone que una página tiene <author, a> en la metaetiqueta y <author, b> en el mapa de la página, si este enum se establece en METATAGS, solo indexaremos <author, a>. Si este enum no se establece, los combinaremos y, luego, indexaremos <author, [a, b]>.

schemaOrgPaths[]

string

Son las rutas de campos para indexar el atributo personalizado de los datos de schema.org. En schema.org, puedes encontrar más detalles sobre schema.org y sus tipos definidos.

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 nombres de campos, comenzando con _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

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 metatag para extraer la metatag. Si el usuario no define este campo, se usará FieldConfig.field_path para extraer la etiqueta meta.

FieldType

Es el tipo de valor del campo en el esquema.

Enums
FIELD_TYPE_UNSPECIFIED No se especificó el tipo de campo.
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 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 ubicación geográfica se expresa como un objeto con las siguientes claves:

  • id: Cadena que representa el ID de ubicación
  • longitude: Es 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 las siguientes maneras:

  • Un número que representa los milisegundos transcurridos desde el ciclo de entrenamiento
  • Es una cadena que representa los milisegundos desde el ciclo de entrenamiento, p. ej., "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 del 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 Opción de categorización dinámica en facetas inhabilitada para un campo de esquema.

SearchableOption

Es el parámetro de 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 filtrable habilitada para un campo de esquema.
FILTERABLE_DISABLED Opción de filtro inhabilitada 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 Recupera el valor de los atributos establecidos por la API de SiteSearchEngineService.SetUriPatternDocumentData.
SCHEMA_ORG Recupera el valor de los datos de schema.org.

Métodos

create

Crea un Schema.

delete

Borra un Schema.

get

Obtienes una Schema.

list

Obtiene una lista de Schemas.

patch

Actualiza un Schema.