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