数据类型
本文档详细介绍了向量检索服务Milvus版(简称Milvus)支持的各类向量与标量数据类型,包括其存储格式、适用字段及典型应用场景,帮助用户根据业务需求选择最合适的数据类型。
数据类型 | 适用字段 | 存储格式 | 使用场景 |
BINARY_VECTOR | 向量字段 | 每个维度仅用1个比特(bit) 表示0或1,无指数位、尾数位和符号位,直接存储二进制数据。 | 适用于稀疏向量,在图像处理和信息检索场景中,它们是表示数据的紧凑特征。 |
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、短描述、状态码、关键词等离散的、非数值型的分类信息。 |
INT64 | 64 位整数。 | 适用于需要大范围整数值的标量属性信息。 | |
INT32 | 标量字段 | 32 位整数。 | 适合存储一般整数数据,如产品数量或用户 ID。 |
INT16 | 16 位整数。 | 适用于中等范围整数数据。 | |
INT8 | 8 位整数。 | 适合存储小范围整数数据。 | |
BOOL | 布尔类型。 | 用于存储true或false ,适合描述二进制状态。 | |
DOUBLE | 64 位双精度浮点数。 | 用于高精度数据,如财务信息或科学计算。 | |
FLOAT | 32 位浮点数。 | 适用于需要一般精度的数据,如等级或温度。 | |
ARRAY | 数组类型,存储一组相同类型的数据元素。接受 Milvus 支持的任何标量数据类型,但JSON 除外。 | 适用于一个标量字段包含多个同类型的元素集合。 | |
JSON | JSON格式,例如 | 存储结构灵活、嵌套复杂或动态变化的属性集合。 |