数据类型

更新时间:
复制为 MD 格式

本文档详细介绍了向量检索服务Milvus版(简称Milvus)支持的各类向量与标量数据类型,包括其存储格式、适用字段及典型应用场景,帮助用户根据业务需求选择最合适的数据类型。

数据类型

适用字段

存储格式

使用场景

BINARY_VECTOR

向量字段

每个维度仅用1个比特(bit) 表示01,无指数位、尾数位和符号位,直接存储二进制数据。

适用于稀疏向量,在图像处理和信息检索场景中,它们是表示数据的紧凑特征。

FLOAT_VECTOR

32位单精度浮点数。

适用于通用高精度向量搜索

FLOAT16_VECTOR

半精度浮点数向量,采用5位指数位 + 10位尾数位 + 1位符号位 的格式。

适用于尾数精度较高(小数点后保留更多位数)的场景,如 bge-large 等模型生成的嵌入向量。

BFLOAT16_VECTOR

16 浮点数向量,采用8位指数位 + 7位尾数位 + 1位符号位的格式。

适用于向量数值范围较大(更多bit位表达整数)的场景。

SPARSE_FLOAT_VECTOR

长度可变小于32位,不存储全量维度,仅保存 非零元素的索引和对应的 float 值。

适用于文本 TF-IDF、超高维 one-hot

INT8_VECTOR

8 位有符号整数(int8)组成的向量,每个分量的范围为-128 到 127。

适用于量化索引,提高推理速度,同时只造成极小的精度损失。注:该向量类型仅支持 HNSW 索引。

STRING

  • 主键 ID

  • 标量字段

字符串。

适用于文本类标签、分类名称、唯一标识符 ID、短描述、状态码、关键词等离散的、非数值型的分类信息。

INT64

64 位整数。

适用于需要大范围整数值的标量属性信息。

INT32

标量字段

32 位整数。

适合存储一般整数数据,如产品数量或用户 ID。

INT16

16 位整数。

适用于中等范围整数数据。

INT8

8 位整数。

适合存储小范围整数数据。

BOOL

布尔类型。

用于存储truefalse ,适合描述二进制状态。

DOUBLE

64 位双精度浮点数。

用于高精度数据,如财务信息或科学计算。

FLOAT

32 位浮点数。

适用于需要一般精度的数据,如等级或温度。

ARRAY

数组类型,存储一组相同类型的数据元素。接受 Milvus 支持的任何标量数据类型,但JSON 除外。

适用于一个标量字段包含多个同类型的元素集合。

JSON

JSON格式,例如{"contact": {"phone": "+1800000****"}}

存储结构灵活、嵌套复杂或动态变化的属性集合。