milvus-logo
LFAI
首页
  • 用户指南

集合说明

在 Milvus 中,您可以创建多个 Collections 来管理数据,并将数据作为实体插入到 Collections 中。Collections 和实体类似于关系数据库中的表和记录。本页将帮助你了解集合和相关概念。

Collections

Collection 是一个二维表,具有固定的列和变化的行。每列代表一个字段,每行代表一个实体。

下图显示了一个有 8 列和 6 个实体的 Collection。

Collection explained 集合解释

Schema 和字段

在描述一个对象时,我们通常会提到它的属性,如大小、重量和位置。您可以将这些属性用作 Collection 中的字段。每个字段都有各种约束属性,例如向量字段的数据类型和维度。通过创建字段并定义其顺序,可以形成一个 Collections Schema。有关可能适用的数据类型,请参阅Schema 解释

您应在要插入的实体中包含所有 Schema 定义的字段。要使其中一些字段可选,可考虑

  • 使其为空或设置默认值

    有关如何使字段无效或设置默认值的详细信息,请参阅 "无效和默认"。

  • 启用动态字段

    有关如何启用和使用动态字段的详细信息,请参阅动态字段。

主键和 AutoId

与关系数据库中的主字段类似,Collection 也有一个主字段,用于将实体与其他实体区分开来。主字段中的每个值都是全局唯一的,并与一个特定实体相对应。

如上图所示,名为id的字段是主字段,第一个 ID0对应一个名为 "冠状病毒的死亡率并不重要"的实体。不会有其他实体的主字段是 0。

主字段只接受整数或字符串。插入实体时,默认情况下应包含主字段值。但是,如果在创建 Collections 时启用了AutoId,Milvus 将在插入数据时生成这些值。在这种情况下,请从要插入的实体中排除主字段值。

有关详细信息,请参阅 "主字段和自动 ID"。

索引

为特定字段创建索引可提高搜索效率。建议您为服务所依赖的所有字段创建索引,其中向量字段的索引是强制性的。

实体

实体是指在 Collections 中共享同一组字段的数据记录。同一行中所有字段的值构成一个实体。

您可以根据需要在 Collections 中插入任意数量的实体。但是,随着实体数量的增加,所占用的内存大小也会增加,从而影响搜索性能。

有关详细信息,请参阅Schema Explained

加载和释放

加载集合是在集合中进行相似性搜索和查询的前提。加载 Collections 时,Milvus 会将所有索引文件和每个字段中的原始数据加载到内存中,以便快速响应搜索和查询。

搜索和查询是内存密集型操作。为节约成本,建议您释放当前不使用的 Collections。

有关详细信息,请参阅加载和释放

搜索和查询

创建索引并加载 Collections 后,就可以通过输入一个或多个查询向量开始相似性搜索。例如,当接收到搜索请求中携带的查询向量表示时,Milvus 会使用指定的度量类型来衡量查询向量与目标 Collections 中的向量之间的相似性,然后再返回与查询语义相似的向量。

你还可以在搜索和查询中加入元数据过滤功能,以提高搜索结果的相关性。请注意,元数据过滤条件在查询中是必须的,但在搜索中是可选的。

有关适用度量类型的详细信息,请参阅度量类型

有关搜索和查询的更多信息,请参阅搜索和 Rerankers章节中的文章,其中包括基本功能。

此外,Milvus 还提供了提高搜索性能和效率的增强功能。这些增强功能默认为禁用,您可以根据自己的服务要求启用和使用它们。它们是

分区

分区是集合的子集,与其父集合共享相同的字段集,每个分区包含一个实体子集。

通过将实体分配到不同的分区,可以创建实体组。你可以在特定分区中进行搜索和查询,让 Milvus 忽略其他分区中的实体,提高搜索效率。

有关详情,请参阅管理分区

分区

分区是 Collections 的水平切片。每个分区对应一个数据输入通道。每个 Collections 默认都有一个分区。创建 Collections 时,可以根据预期吞吐量和要插入 Collections 的数据量设置适当的分区数量。

有关如何设置分片数的详细信息,请参阅创建 Collections

别名

您可以为您的集合创建别名。一个集合可以有多个别名,但集合不能共享一个别名。收到针对某个 Collection 的请求后,Milvus 会根据所提供的名称定位该 Collection。如果所提供名称的 Collection 不存在,Milvus 会继续定位所提供名称的别名。你可以使用 Collections 别名来调整代码以适应不同的情况。

更多详情,请参阅管理别名

函数

您可以为 Milvus 设置函数,以便在创建 Collections 时派生字段。例如,全文搜索功能使用用户定义函数从特定 varchar 字段推导出稀疏向量字段。有关全文搜索的更多信息,请参阅全文搜索

一致性级别

分布式数据库系统通常使用一致性级别来定义跨数据节点和副本的数据相同性。在创建 Collections 或在 Collections 中进行相似性搜索时,可以分别设置不同的一致性级别。适用的一致性级别有强有限制的不稳定性会话最终

有关这些一致性级别的详细信息,请参阅一致性级别。

限制

有关集合的限制和约束,请参阅限制约束

翻译自DeepLogo

想要更快、更简单、更好用的 Milvus SaaS服务 ?

Zilliz Cloud是基于Milvus的全托管向量数据库,拥有更高性能,更易扩展,以及卓越性价比

免费试用 Zilliz Cloud
反馈

此页对您是否有帮助?