Schema 概述
Schema 定义了 Collection 的数据结构。在创建 Collection 之前,你需要设计好它的 Schema。本页将帮助你理解 Collection Schema,并自行设计一个示例 Schema。
主键字段与 AutoID
Milvus 中的每个 Collection 都必须有一个主键字段,以唯一标识每个实体。这个字段确保每个实体都能被插入、更新、查询或删除,而不会产生歧义。
稠密向量
稠密向量是广泛应用于机器学习和数据分析的数字数据表示。它们由包含实数的数组组成,其中大部分或所有元素都不为零。与稀疏向量相比,稠密向量在同一维度上包含更多信息,因为每个维度都持有有意义的值。这种表示方法能有效捕捉复杂的模式和关系,使数据在高维空间中更容易分析和处理。稠密向量通常有固定的维数,从几十到几百甚至上千不等,具体取决于具体的应用和要求。
二进制向量
二进制向量是一种特殊的数据表示形式,它将传统的高维浮点向量转换成只包含 0 和 1 的二进制向量。这种转换不仅压缩了向量的大小,还降低了存储和计算成本,同时保留了语义信息。当对非关键特征的精度要求不高时,二进制向量可以有效保持原始浮点向量的大部分完整性和实用性。
稀疏向量
稀疏向量是信息检索和自然语言处理中捕捉表层术语匹配的重要方法。虽然稠密向量在语义理解方面表现出色,但稀疏向量往往能提供更可预测的匹配结果,尤其是在搜索特殊术语或文本标识符时。
字符串字段
在 Milvus 中,VARCHAR 是用于存储字符串数据的数据类型。
数字字段
数字字段是存储数值的标量字段。这些数值可以是整数(整数)或十进制数(浮点数)。它们通常用于表示数量、测量值或任何需要进行数学处理的数据。
JSON 字段
3 个项目
数组字段
ARRAY 字段存储同一数据类型元素的有序 Collection。下面举例说明 ARRAY 字段如何存储数据:
StructArray
使用 StructArray 字段,以向量和标量字段的共享模式存储有序的 Struct 元素。
Geometry 字段
在构建地理信息系统(GIS)、制图工具或基于位置的服务等应用程序时,您经常需要存储和查询几何数据。Milvus 中的 GEOMETRY 数据类型提供了一种本地方式来存储和查询灵活的几何数据,从而解决了这一难题。
TIMESTAMPTZ 字段
跨区域时间跟踪应用程序,如电子商务系统、协作工具或分布式日志记录,需要精确处理带有时区的时间戳。Milvus 的 TIMESTAMPTZ 数据类型通过存储带有相关时区的时间戳,提供了这种功能。
Dynamic Field
Milvus 允许你通过一个名为动态字段的特殊功能,插入结构灵活、不断发展的实体。该字段以名为 $meta 的隐藏 JSON 字段的形式实现,它会自动存储数据中任何未在 Collection Schema 中明确定义的字段。
可空字段
配置可空字段和默认值,包括 Schema、插入、索引、搜索和过滤行为。
默认值
为标量字段设置默认值,以便 Milvus 在插入实体时填补缺失值。
Analyzer
6 个项目
更改 Collection 字段
您可以更改 Collection 字段的属性,以更改列约束或执行更严格的数据完整性规则。
为现有 Collection 添加字段
Milvus 允许您在现有的 Collection 中动态添加新字段,使您可以根据应用需求的变化,轻松发展数据 Schema。本指南通过实际示例向你展示如何在不同情况下添加字段。
最佳实践
2 个项目