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

Recurso: Schema

Define a estrutura e o layout de um tipo de dados de documento.

Representação 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

Imutável. O nome completo do recurso do esquema, no formato projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}/schemas/{schema}.

Este campo precisa ser uma string codificada em UTF-8 com um limite de 1.024 caracteres.

fieldConfigs[]

object (FieldConfig)

Apenas saída. Configurações para campos do esquema.

Campo de união schema. Representação do esquema. É necessário fornecer struct_schema ou json_schema. Caso contrário, um erro INVALID_ARGUMENT será gerado. schema pode ser apenas um dos seguintes:
structSchema

object (Struct format)

A representação estruturada do esquema.

jsonSchema

string

A representação JSON do esquema.

FieldConfig

Configurações para campos de um esquema. Por exemplo, configurar um campo como indexável ou pesquisável.

Representação 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

Obrigatório. Caminho do campo de esquema. Por exemplo: title, description, release_info.release_year.

fieldType

enum (FieldType)

Apenas saída. Tipo bruto do campo.

indexableOption

enum (IndexableOption)

Se indexableOption for INDEXABLE_ENABLED, os valores de campo serão indexados para que possam ser filtrados ou facetados em SearchService.Search.

Se indexableOption não estiver definido, o comportamento padrão do servidor será INDEXABLE_DISABLED para campos que aceitam a definição de opções indexáveis. Para os campos que não aceitam a definição de opções indexáveis, como object, boolean e propriedades de chave, o servidor vai ignorar a configuração indexableOption, e a definição de indexableOption para esses campos vai gerar um erro INVALID_ARGUMENT.

dynamicFacetableOption

enum (DynamicFacetableOption)

Se dynamicFacetableOption for DYNAMIC_FACETABLE_ENABLED, os valores de campo estarão disponíveis para o filtro de atributos dinâmico. Só poderá ser DYNAMIC_FACETABLE_DISABLED se FieldConfig.indexable_option for INDEXABLE_DISABLED. Caso contrário, um erro INVALID_ARGUMENT será retornado.

Se dynamicFacetableOption não estiver definido, o comportamento padrão do servidor será DYNAMIC_FACETABLE_DISABLED para campos que aceitam a definição de opções dinâmicas de refinamento. Para os campos que não oferecem suporte à definição de opções dinâmicas de refinamento, como object e boolean, o servidor vai ignorar a definição de opções dinâmicas de refinamento, e a definição de dynamicFacetableOption para esses campos vai gerar um erro INVALID_ARGUMENT.

searchableOption

enum (SearchableOption)

Se searchableOption for SEARCHABLE_ENABLED, os valores de campo poderão ser pesquisados por consultas de texto em SearchService.Search.

Se SEARCHABLE_ENABLED, mas o tipo de campo for numérico, os valores não poderão ser pesquisados por consultas de texto em SearchService.Search, já que não há valores de texto associados a campos numéricos.

Se searchableOption não estiver definido, o comportamento padrão do servidor será SEARCHABLE_DISABLED para campos que aceitam a definição de opções pesquisáveis. Somente campos string sem mapeamento de propriedade de chave podem ser definidos como searchableOption.

Para os campos que não oferecem suporte à definição de opções pesquisáveis, o servidor vai pular essa etapa, e a definição de searchableOption para esses campos vai gerar um erro INVALID_ARGUMENT.

retrievableOption

enum (RetrievableOption)

Se retrievableOption for RETRIEVABLE_ENABLED, os valores do campo serão incluídos nos resultados da pesquisa.

Se retrievableOption não estiver definido, o comportamento padrão do servidor será RETRIEVABLE_DISABLED para campos que aceitam a definição de opções recuperáveis. Para os campos que não oferecem suporte à definição de opções recuperáveis, como object e boolean, o servidor vai ignorar a definição de opções recuperáveis, e a definição de retrievableOption para esses campos vai gerar um erro INVALID_ARGUMENT.

completableOption

enum (CompletableOption)

Se completableOption for COMPLETABLE_ENABLED, os valores dos campos serão usados diretamente e retornados como sugestões para o preenchimento automático em CompletionService.CompleteQuery.

Se completableOption não estiver definido, o comportamento padrão do servidor será COMPLETABLE_DISABLED para campos que aceitam a definição de opções concluíveis, que são apenas campos string. Para os campos que não oferecem suporte à definição de opções concluíveis, o servidor vai pular essa etapa, e a definição de completableOption para esses campos vai gerar um erro INVALID_ARGUMENT.

recsFilterableOption

enum (FilterableOption)

Se recsFilterableOption for FILTERABLE_ENABLED, os valores do campo poderão ser filtrados por uma expressão em RecommendationService.Recommend.

Se FILTERABLE_ENABLED, mas o tipo de campo for numérico, os valores não poderão ser filtrados por consultas de texto em RecommendationService.Recommend. Somente campos de texto são aceitos.

Se recsFilterableOption não estiver definido, a configuração padrão será FILTERABLE_DISABLED para campos que aceitam opções filtráveis.

Quando um campo definido como [FILTERABLE_DISABLED] é filtrado, um aviso é gerado e um resultado vazio é retornado.

keyPropertyType

string

Apenas saída. Tipo da propriedade de chave a que este campo está mapeado. String vazia se não estiver anotado como mapeado para uma propriedade de chave.

Exemplos de tipos são title e description. A lista completa é definida por keyPropertyMapping na anotação do campo de esquema.

Se o campo de esquema tiver uma anotação KeyPropertyMapping, não será possível modificar indexableOption e searchableOption desse campo.

advancedSiteSearchDataSources[]

enum (AdvancedSiteSearchDataSource)

Se esse campo estiver definido, apenas a origem correspondente será indexada. Caso contrário, os valores de diferentes fontes serão mesclados.

Supondo uma página com <author, a> na metatag e <author, b> no mapa da página: se esse enum estiver definido como METATAGS, vamos indexar apenas <author, a>. Se não estiver definido, vamos mesclar e indexar <author, [a, b]>.

schemaOrgPaths[]

string

Caminhos de campo para indexar atributos personalizados de dados do schema.org. Mais detalhes sobre o schema.org e os tipos definidos podem ser encontrados em schema.org (link em inglês).

Ele é usado apenas no esquema de pesquisa avançada no site.

No momento, só há suporte para o caminho completo da raiz. O caminho completo de um campo é construído concatenando nomes de campos, começando com _root, com um ponto . como delimitador. Exemplos:

  • Data de publicação da raiz: _root.datePublished
  • Data de publicação das avaliações: _root.review.datePublished
metatagName

string

Opcional. O nome da metatag encontrada na página HTML. Se o usuário definir esse campo, o valor desse nome de metatag será usado para extrair a metatag. Se o usuário não definir esse campo, o FieldConfig.field_path será usado para extrair a metatag.

FieldType

Tipo de valor do campo no esquema.

Tipos enumerados
FIELD_TYPE_UNSPECIFIED O tipo de campo não foi especificado.
OBJECT O tipo de valor do campo é "Objeto".
STRING O tipo de valor do campo é String.
NUMBER O tipo de valor do campo é "Número".
INTEGER O tipo de valor do campo é número inteiro.
BOOLEAN O tipo de valor do campo é booleano.
GEOLOCATION

O tipo de valor do campo é "Geolocalização". A geolocalização é expressa como um objeto com as seguintes chaves:

  • id: uma string que representa o ID do local
  • longitude: um número que representa a coordenada de longitude do local.
  • latitude: um número que representa a coordenada de latitude do local.
  • address: uma string que representa o endereço completo do local.

latitude e longitude precisam ser sempre fornecidos juntos. É necessário fornecer pelo menos uma das opções: a) address ou b) o par latitude-longitude.

DATETIME

O tipo de valor do campo é "Data e hora". A data e hora podem ser expressas como:

  • um número que representa milissegundos desde a época
  • uma string que representa milissegundos desde a época. Por exemplo, "1420070400001"
  • uma string que representa a data ou data e hora ISO 8601. Por exemplo, "2015-01-01" ou "2015-01-01T12:10:30Z"

IndexableOption

A configuração de opções indexáveis no esquema.

Tipos enumerados
INDEXABLE_OPTION_UNSPECIFIED Valor usado quando não definido.
INDEXABLE_ENABLED Opção indexável ativada para um campo de esquema.
INDEXABLE_DISABLED Opção indexável desativada para um campo de esquema.

DynamicFacetableOption

O status da opção de tabela dinâmica de um campo de esquema.

Tipos enumerados
DYNAMIC_FACETABLE_OPTION_UNSPECIFIED Valor usado quando não definido.
DYNAMIC_FACETABLE_ENABLED Opção de tabela dinâmica ativada para um campo de esquema.
DYNAMIC_FACETABLE_DISABLED Opção de tabela dinâmica desativada para um campo de esquema.

SearchableOption

A configuração de opções pesquisáveis no esquema.

Tipos enumerados
SEARCHABLE_OPTION_UNSPECIFIED Valor usado quando não definido.
SEARCHABLE_ENABLED Opção de pesquisa ativada para um campo de esquema.
SEARCHABLE_DISABLED Opção de pesquisa desativada para um campo de esquema.

RetrievableOption

A configuração de opções recuperáveis no esquema.

Tipos enumerados
RETRIEVABLE_OPTION_UNSPECIFIED Valor usado quando não definido.
RETRIEVABLE_ENABLED Opção recuperável ativada para um campo de esquema.
RETRIEVABLE_DISABLED Opção recuperável desativada para um campo de esquema.

CompletableOption

A configuração de opções completáveis no esquema.

Tipos enumerados
COMPLETABLE_OPTION_UNSPECIFIED Valor usado quando não definido.
COMPLETABLE_ENABLED Opção de conclusão ativada para um campo de esquema.
COMPLETABLE_DISABLED Opção de conclusão desativada para um campo de esquema.

FilterableOption

Define a opção de filtragem para campos de esquema.

Tipos enumerados
FILTERABLE_OPTION_UNSPECIFIED Valor usado quando não definido.
FILTERABLE_ENABLED Opção filtrável ativada para um campo de esquema.
FILTERABLE_DISABLED Opção de filtragem desativada para um campo de esquema.

AdvancedSiteSearchDataSource

Origem opcional do campo de pesquisa avançada no site.

Tipos enumerados
ADVANCED_SITE_SEARCH_DATA_SOURCE_UNSPECIFIED Valor usado quando não definido.
METATAGS Recupera o valor da metatag.
PAGEMAP Recupera o valor do mapa da página.
URI_PATTERN_MAPPING Recupere o valor dos atributos definidos pela API SiteSearchEngineService.SetUriPatternDocumentData.
SCHEMA_ORG Recupera o valor dos dados do schema.org.

Métodos

create

Cria uma Schema.

delete

Exclui um Schema.

get

Recebe um Schema.

list

Recebe uma lista de Schemas.

patch

Atualiza um Schema.