Zvec Logo

定义 Collection Schema

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

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

CollectionSchema 包含三个部分:

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

一个可读的 Collection 标识符,在内部用于引用和日志记录。

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

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

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

向量通过 VectorSchema 定义,包含以下属性:

  1. name:向量在 Collection 中的唯一标识符。
  2. data_type:向量的数值格式。
  3. dimension:稠密向量必填,表示维度数。
  4. index_param:配置向量索引类型和相似度度量。

选择向量索引类型

index_param 允许你配置合适的索引策略:

  • metric_typeCOSINEL2IP(内积)— 请确保度量方式与 Embedding 的训练方式一致!
  • quantize_type(可选): 压缩向量以减小索引大小并加速搜索(会有轻微的 Recall 损失)

目录