FieldSchema

表示多元索引所有字段的配置信息。

数据结构

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;
    optional bool store = 7;
    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;
}

名称

类型

是否必选

描述

field_name

string

字段名称。

重要

字段名称必须与数据表中的字段名称相同。

field_type

FieldType

字段类型。更多信息,请参见数据类型映射

重要

多元索引的字段类型必须与数据表中字段类型相匹配。

analyzer

string

分词器类型。默认值为单字分词。当字段类型为TEXT时可设置此参数。

index

bool

是否开启索引。默认值为true,表示对该列构建倒排索引或者空间索引;如果设置为false,则不会对该列构建索引。

sort_and_agg

bool

是否开启排序与统计聚合功能。

只有开启排序与统计聚合功能的字段才能进行排序。

store

bool

是否在多元索引中附加存储该字段的值。

开启后,可以直接从多元索引中读取该字段的值,而不必反查数据表,可用于查询性能优化。

field_schemas

repeated FieldSchema

字段配置信息。只有字段类型为嵌套类型时,才需要设置此参数。

is_array

bool

是否为数组。如果设置为true,则表示该列是一个数组。在数据表中写入数据时,必须按照JSON数组格式写入,例如["a","b","c"]

当字段类型为嵌套类型时,无需设置此参数。

analyzer_parameter

bytes

分词的可选参数配置,由protobuf编码。

使用不同分词类型时支持的可选参数配置不同。更多信息,请参见分词

is_virtual_field

bool

该字段是否为虚拟列。默认值为false。只有在使用虚拟列时,才需要设置此参数。

source_field_names

string

数据表中的字段名称。当使用虚拟列且字段的is_virtual_field配置为true时,才需要设置此参数。

date_formats

string

日期的格式。当字段类型为Date时,才需要设置此参数。