O FieldSchema define a configuração dos campos de um índice de busca. Cada campo exige uma entrada FieldSchema que especifique propriedades como tipo, tokenizador e comportamento de indexação.
Parâmetros
message FieldSchema {
optional string field_name = 1;
optional FieldType field_type = 2;
optional string analyzer = 4;
optional bool index = 5;
optional bool sort_and_agg = 6;
repeated FieldSchema field_schemas = 8; // only for nested type
optional bool is_array = 9;
optional bytes analyzer_parameter = 10;
optional bool is_virtual_field = 11;
repeated string source_field_names = 12;
repeated string date_formats = 13;
optional bool enable_highlighting = 14;
optional VectorOptions vector_options = 15;
optional JsonType json_type = 16;
}
Nome | Tipo | Obrigatório | Descrição |
field_name | string | Sim | Nome do campo. Deve corresponder exatamente ao nome do campo na tabela de dados. Importante Nomes incompatíveis causam falha na criação do índice. |
field_type | Sim | Tipo do campo. Para mais informações, consulte Tipos de dados. Importante O tipo de campo no índice de busca deve corresponder ao tipo equivalente na tabela de dados. | |
analyzer | string | Não | Tipo de tokenizador. Padrão: tokenização de palavra única. Aplicável apenas a campos TEXT. |
index | bool | Não | Defina se a indexação do campo está ativada. Padrão: true. Se true, cria um índice invertido ou espacial. Se false, não cria índice. |
sort_and_agg | bool | Não | Indica se a ordenação e a agregação estão habilitadas para o campo. Apenas campos com essa funcionalidade ativada admitem ordenação. |
field_schemas | Não | Configurações dos subcampos. Obrigatório apenas quando o tipo de campo for NESTED. | |
is_array | bool | Não | Especifica se o campo é um array. Se definido como true, os dados gravados devem estar no formato de array JSON, como Desnecessário para campos NESTED. |
analyzer_parameter | bytes | Não | Parâmetros opcionais do tokenizador. O valor deve ter codificação protobuf. Os parâmetros compatíveis variam conforme o tipo de tokenizador. Para mais detalhes, consulte Tokenizadores. |
is_virtual_field | bool | Não | Determina se o campo é uma coluna virtual. Padrão: false. Obrigatório apenas ao usar colunas virtuais. |
source_field_names | string | Não | Nomes dos campos de source na tabela de dados mapeados para esta coluna virtual. Obrigatório somente quando is_virtual_field for true. |
date_formats | string | Não | Formatos de data. Obrigatório apenas para campos DATE. |
enable_highlighting | bool | Não | Ativa o destaque e o resumo de consultas. Padrão: false. Apenas campos TEXT oferecem suporte a este recurso. Defina como true para ativar o destaque e o resumo nas consultas. |
vector_options | Não | Parâmetros de configuração para campos vetoriais. Obrigatório quando o tipo de campo for VECTOR. | |
json_type | Não | Tipo de índice do campo JSON. Valores válidos: OBJECT e Object. Obrigatório quando o tipo de campo for JSON. |