定义 Collection Schema
Collection Schema CollectionSchema 定义了插入到 Collection 中的每个 Document 必须遵循的结构。
Zvec 的 Schema 是动态的:你可以随时添加或删除标量字段和向量,无需重建 Collection。
CollectionSchema 包含三个部分:
name:Collection 的标识符。fields:标量字段列表。vectors:向量字段列表。
一个可读的 Collection 标识符,在内部用于引用和日志记录。
标量字段存储非向量(即结构化)数据,如字符串、数字、布尔值或数组。
每个字段通过 FieldSchema 定义,包含以下属性:
name:字段在 Collection 中的唯一标识符。data_type:存储的数据类型,如STRING、INT64或数组类型ARRAY_STRING。nullable(可选):字段是否允许无值(默认为False)。index_param(可选):通过InvertIndexParam创建倒排索引以实现快速过滤。
向量通过 VectorSchema 定义,包含以下属性:
name:向量在 Collection 中的唯一标识符。data_type:向量的数值格式。dimension:稠密向量必填,表示维度数。index_param:配置向量索引类型和相似度度量。
选择向量索引类型
index_param 允许你配置合适的索引策略:
metric_type:COSINE、L2或IP(内积)— 请确保度量方式与 Embedding 的训练方式一致!quantize_type(可选): 压缩向量以减小索引大小并加速搜索(会有轻微的 Recall 损失)