FieldSchema définit la configuration des champs d'un index de recherche. Chaque champ de l'index nécessite une entrée FieldSchema spécifiant ses propriétés, telles que le type de champ, l'analyseur et le comportement d'indexation.
Paramètres
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;
}
Nom | Type | Obligatoire | Description |
field_name | string | Oui | Nom du champ. Il doit correspondre au nom du champ dans la table de données. Important Une discordance entre les noms de champ entraîne l'échec de la création de l'index. |
field_type | Oui | Type de champ. Pour plus d'informations, consultez la rubrique Types de données. Important Le type de champ de l'index de recherche doit correspondre à celui de la table de données. | |
analyzer | string | Non | Type d'analyseur (tokenizer). Par défaut : tokenisation par mot unique. S'applique uniquement aux champs TEXT. |
index | bool | Non | Active ou désactive l'indexation du champ. Valeur par défaut : true. Si la valeur est true, un index inversé ou spatial est créé. Si la valeur est false, aucun index n'est créé. |
sort_and_agg | bool | Non | Active ou désactive le tri et l'agrégation pour le champ. Seuls les champs ayant le tri et l'agrégation activés peuvent servir au tri. |
field_schemas | Non | Configuration des sous-champs. Requis uniquement si le type de champ est NESTED. | |
is_array | bool | Non | Indique si le champ est un tableau. Si la valeur est true, les données écrites dans ce champ doivent être au format de tableau JSON, par exemple Non requis pour les champs NESTED. |
analyzer_parameter | bytes | Non | Paramètres facultatifs de l'analyseur. La valeur doit être encodée en protobuf. Les paramètres pris en charge varient selon le type d'analyseur. Pour plus d'informations, consultez la rubrique Tokenizers. |
is_virtual_field | bool | Non | Indique si le champ est une colonne virtuelle. Valeur par défaut : false. Requis uniquement lors de l'utilisation de colonnes virtuelles. |
source_field_names | string | Non | Noms des champs source dans la table de données mappés à cette colonne virtuelle. Requis uniquement si is_virtual_field est défini sur true. |
date_formats | string | Non | Formats de date. Requis uniquement pour les champs DATE. |
enable_highlighting | bool | Non | Active ou désactive la mise en surbrillance des requêtes et le résumé. Valeur par défaut : false. Seuls les champs TEXT prennent en charge cette fonctionnalité. Définissez ce paramètre sur true pour activer la mise en surbrillance des requêtes et le résumé. |
vector_options | Non | Paramètres de configuration des champs vectoriels. Requis si le type de champ est VECTOR. | |
json_type | Non | Type d'index du champ JSON. Valeurs valides : OBJECT et Object. Requis si le type de champ est JSON. |