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

Recurso: esquema

Define a estrutura e o esquema de um tipo de dados de documentos.

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 tem de ser uma string codificada em UTF-8 com um limite de comprimento de 1024 carateres.

fieldConfigs[]

object (FieldConfig)

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

Campo de união schema. Representação do esquema. Deve ser fornecida uma das propriedades struct_schema ou json_schema. Caso contrário, é gerado um erro INVALID_ARGUMENT. schema só pode ser uma das seguintes opções:
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 do esquema. Por exemplo: title, description, release_info.release_year.

fieldType

enum (FieldType)

Apenas saída. Tipo simples do campo.

indexableOption

enum (IndexableOption)

Se indexableOption for INDEXABLE_ENABLED, os valores dos campos são indexados para que possam ser filtrados ou segmentados em SearchService.Search.

Se indexableOption não estiver definido, o comportamento do servidor é predefinido para INDEXABLE_DISABLED para campos que suportam a definição de opções indexáveis. Para os campos que não suportam a definição de opções indexáveis, como object, boolean e propriedades de chave, o servidor ignora a definição de indexableOption e a definição de indexableOption para esses campos gera um erro INVALID_ARGUMENT.

dynamicFacetableOption

enum (DynamicFacetableOption)

Se dynamicFacetableOption for DYNAMIC_FACETABLE_ENABLED, os valores dos campos estão disponíveis para a faceta dinâmica. Só pode ser DYNAMIC_FACETABLE_DISABLED se FieldConfig.indexable_option for INDEXABLE_DISABLED. Caso contrário, é devolvido um erro INVALID_ARGUMENT.

Se dynamicFacetableOption não estiver definido, o comportamento do servidor é predefinido para DYNAMIC_FACETABLE_DISABLED para campos que suportam a definição de opções dinâmicas de filtragem. Para os campos que não suportam a definição de opções de filtragem dinâmicas, como object e boolean, o servidor ignora a definição de opções de filtragem dinâmicas, e a definição de dynamicFacetableOption para esses campos gera um erro INVALID_ARGUMENT.

searchableOption

enum (SearchableOption)

Se searchableOption for SEARCHABLE_ENABLED, os valores dos campos são pesquisáveis por consultas de texto em SearchService.Search.

Se SEARCHABLE_ENABLED, mas o tipo de campo for numérico, os valores dos campos não podem ser pesquisados por consultas de texto em SearchService.Search, uma vez que não existem valores de texto associados a campos numéricos.

Se searchableOption não estiver definido, o comportamento do servidor é predefinido para SEARCHABLE_DISABLED para campos que suportam a definição de opções pesquisáveis. Apenas os campos string que não têm um mapeamento de propriedades de chave suportam a definição de searchableOption.

Para os campos que não suportam a definição de opções pesquisáveis, o servidor ignora a definição de opções pesquisáveis e a definição de searchableOption para esses campos gera um erro INVALID_ARGUMENT.

retrievableOption

enum (RetrievableOption)

Se retrievableOption for RETRIEVABLE_ENABLED, os valores dos campos são incluídos nos resultados da pesquisa.

Se retrievableOption não estiver definido, o comportamento do servidor é predefinido para RETRIEVABLE_DISABLED para campos que suportam a definição de opções recuperáveis. Para os campos que não suportam a definição de opções recuperáveis, como object e boolean, o servidor ignora a definição de opções recuperáveis e a definição de retrievableOption para esses campos gera um erro INVALID_ARGUMENT.

completableOption

enum (CompletableOption)

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

Se completableOption não estiver definido, o comportamento do servidor é predefinido para COMPLETABLE_DISABLED para campos que suportam a definição de opções preenchíveis, que são apenas campos string. Para os campos que não suportam a definição de opções preenchíveis, o servidor ignora a definição de opções preenchíveis e a definição de completableOption para esses campos gera um erro INVALID_ARGUMENT.

recsFilterableOption

enum (FilterableOption)

Se recsFilterableOption for FILTERABLE_ENABLED, os valores dos campos são filtráveis por expressão de filtro em RecommendationService.Recommend.

Se FILTERABLE_ENABLED, mas o tipo de campo for numérico, os valores dos campos não são filtráveis por consultas de texto em RecommendationService.Recommend. Apenas são suportados campos de texto.

Se recsFilterableOption não estiver definido, a predefinição é FILTERABLE_DISABLED para os campos que suportam a definição de opções filtráveis.

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

keyPropertyType

string

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

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

Se o campo do esquema tiver uma anotação KeyPropertyMapping, não é possível modificar indexableOption nem searchableOption deste campo.

advancedSiteSearchDataSources[]

enum (AdvancedSiteSearchDataSource)

Se este campo estiver definido, apenas a origem correspondente é indexada para este campo. Caso contrário, os valores de origens diferentes são unidos.

Supondo que uma página tem <author, a> na etiqueta meta e <author, b> no mapa da página: se esta enumeração estiver definida como METATAGS, apenas indexamos <author, a>; se esta enumeração não estiver definida, vamos fundi-las e indexar <author, [a, b]>.

schemaOrgPaths[]

string

Caminhos dos campos para indexar o atributo personalizado a partir dos dados de schema.org. Pode encontrar mais detalhes sobre o schema.org e os respetivos tipos definidos em schema.org.

Só é usado no esquema de pesquisa de sites avançada.

Atualmente, só é suportado o caminho completo a partir da raiz. O caminho completo para um campo é construído concatenando nomes de campos, começando por _root, com um ponto . como delimitador. Exemplos:

  • Data de publicação da raiz: _root.datePublished
  • Data de publicação das críticas: _root.review.datePublished
metatagName

string

Opcional. O nome da metatag encontrado na página HTML. Se o utilizador definir este campo, o valor deste nome de metatag é usado para extrair a metatag. Se o utilizador não definir este campo, o FieldConfig.field_path é usado para extrair a metatag.

FieldType

Tipo de valor do campo no esquema.

Enumerações
FIELD_TYPE_UNSPECIFIED O tipo de campo não foi especificado.
OBJECT O tipo de valor do campo é Object.
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 da localização
  • longitude: um número que representa a coordenada de longitude da localização
  • latitude: um número que representa a coordenada de latitude da localização
  • address: uma string que representa a morada completa da localização

latitude e longitude têm de ser sempre fornecidos em conjunto. Tem de fornecer, pelo menos, a) address ou b) o par latitude-longitude.

DATETIME

O tipo de valor do campo é Datetime. A data/hora pode ser expressa de uma das seguintes formas:

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

IndexableOption

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

Enumerações
INDEXABLE_OPTION_UNSPECIFIED Valor usado quando não está 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 estado da opção de filtragem dinâmica de um campo de esquema.

Enumerações
DYNAMIC_FACETABLE_OPTION_UNSPECIFIED Valor usado quando não está definido.
DYNAMIC_FACETABLE_ENABLED Opção de filtragem dinâmica ativada para um campo de esquema.
DYNAMIC_FACETABLE_DISABLED Opção de filtragem dinâmica desativada para um campo de esquema.

SearchableOption

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

Enumerações
SEARCHABLE_OPTION_UNSPECIFIED Valor usado quando não está definido.
SEARCHABLE_ENABLED Opção pesquisável ativada para um campo de esquema.
SEARCHABLE_DISABLED Opção de pesquisa desativada para um campo de esquema.

RetrievableOption

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

Enumerações
RETRIEVABLE_OPTION_UNSPECIFIED Valor usado quando não está 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 definição de opções preenchíveis no esquema.

Enumerações
COMPLETABLE_OPTION_UNSPECIFIED Valor usado quando não está definido.
COMPLETABLE_ENABLED Opção preenchível ativada para um campo de esquema.
COMPLETABLE_DISABLED Opção de preenchimento automático desativada para um campo de esquema.

FilterableOption

Define a opção filtrável para campos de esquema.

Enumerações
FILTERABLE_OPTION_UNSPECIFIED Valor usado quando não está definido.
FILTERABLE_ENABLED Opção filtrável ativada para um campo de esquema.
FILTERABLE_DISABLED Opção filtrável desativada para um campo de esquema.

AdvancedSiteSearchDataSource

Origem opcional do campo de pesquisa em sites avançada.

Enumerações
ADVANCED_SITE_SEARCH_DATA_SOURCE_UNSPECIFIED Valor usado quando não está definido.
METATAGS Obtenha o valor da metatag.
PAGEMAP Obtenha o valor do mapa da página.
URI_PATTERN_MAPPING Obter o valor dos atributos definidos pela API SiteSearchEngineService.SetUriPatternDocumentData.
SCHEMA_ORG Obtenha o valor dos dados de schema.org.

Métodos

create

Cria um Schema.

delete

Elimina um Schema.

get

Obtém um Schema.

list

Obtém uma lista de Schemas.

patch

Atualiza um Schema.