Docs 菜单
Docs 主页
/
MongoDB Atlas
/ /

创建 Atlas Vector Search 索引

在此页面上

  • 先决条件
  • 必需的访问权限
  • 支持的客户端
  • 步骤
  • 从 Atlas 用户界面创建示例索引

Atlas Search 索引是一种数据结构,它会以可搜索的格式对数据进行分类。它是术语与包含这些术语的文档之间的映射。Atlas Search 索引可以使用某些标识符更快地检索文档。您必须配置 Atlas Search 索引才能使用 Atlas Search 查询 Atlas 集群中的数据。

您可在单个字段或多个字段上创建 Atlas Search 索引。我们建议您对经常用于排序或筛选数据的字段建立索引,以便在查询时快速检索包含相关数据的文档。

您可以通过 Atlas 用户界面和 Atlas Administration API,为所有类型的数据包含宽度小于或等于4096维度的矢量嵌入的所有集合创建 Atlas Vector Search 索引,以及 Atlas 集群上的其他数据。

要创建 Atlas Vector Search 索引,Atlas 集群必须满足以下先决条件:

  • MongoDB 版本 6.0.117.0.2或更高版本

  • 为其创建 Atlas Vector Search 索引的集合

您需要Project Data Access Admin或更高角色才能创建和管理 Atlas Vector Search 索引。

您可以使用以下方法之一创建 Atlas Vector Search 索引:

  • Atlas 用户界面

  • Atlas Administration API 创建一个 Atlas Search 索引端点

  • Atlas CLI v1 。14 。在3 云部署 本地部署 上执行 atlas clusters search indexes create 命令

  • mongosh v 2 。 1 。 2或更高版本db.collection.createSearchIndex()方法

sample_mflix.embedded_movies集合的以下索引定义在 Atlas 用户界面的 Atlas Vector Search 索引中将plot_embedding字段索引为vector类型,并将genresyear字段索引为filter类型。 plot_embedding字段包含使用 OpenAI 的text-embedding-ada-002嵌入模型创建的嵌入。索引定义指定了1536个向量维度,并使用euclidean维度来衡量相似性。

1
  1. 转到 Atlas Search 页面。

  2. 单击 Create Index(连接)。

  3. 选择 Atlas Vector Search Editor

  4. 单击 Next(连接)。

有关详细说明,请参阅过程。

2
  1. Index Name字段中,输入vector_index作为索引的名称。

    无论索引类型如何,索引名称在命名空间内都必须是唯一的。如果此集合上已有名为vector_index的索引,请为该索引输入其他名称。

  2. Database and Collection(数据库和集合)部分中找到 sample_mflix 数据库,然后选择 embedded_movies 集合。

3
4

如果您在集群上加载样本数据并为此集合创建前面的 Atlas Search 索引,则可以对此集合运行$vectorSearch查询。要了解有关可以运行的示例查询的更多信息,请参阅$vectorSearch 示例。

← 如何为向量搜索的字段编制索引