Zvec Logo

定义 Collection Schema

Collection Schema CollectionSchema 定义了插入到 collection 中的每个 document 必须遵循的结构。

Zvec 的 schema 是动态的:你可以随时添加或删除标量和向量字段,而无需重建 collection。

CollectionSchema 包含三个部分:

  1. name:collection 的标识符。
  2. fields:标量字段列表。
  3. vectors:向量字段列表。

Collection 名称

Collection 标识符。此名称用于内部引用和日志记录。

标量字段

标量字段存储非向量(即结构化)数据,如字符串、数字、布尔值或数组。

每个字段通过 FieldSchema 定义,包含以下属性:

  1. name:字段在 collection 中的唯一字符串标识符。
  2. data_type:存储的数据类型 — 如 STRINGINT64 或数组类型 ARRAY_STRING
  3. nullable (可选):是否允许该字段为空值 (默认为 False)。
  4. index_param (可选):通过 InvertIndexParam 创建倒排索引以实现快速过滤。

向量(Embedding)

使用 VectorSchema 定义向量字段,包含以下属性:

  1. name:向量在 collection 中的唯一字符串标识符。
  2. data_type:向量的数值格式。
  3. dimension:向量维度 (稠密向量必填项)。
  4. index_param:用于配置向量索引的类型及相似度度量标准。

选择向量索引类型

index_param 让你能够灵活配置合适的索引策略:

  • metric_typeCOSINEL2IP(内积) — 请务必确保你选择的度量方式与 embedding 模型训练方式保持一致!
  • quantize_type (可选):对向量进行压缩,以减小索引体积并加速检索 (会有轻微的 recall 损失)。

完整 Schema 示例

目录