创建 Atlas Vector Search 索引
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.11
、7.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()
方法
步骤
从 Atlas 用户界面创建示例索引
sample_mflix.embedded_movies
集合的以下索引定义在 Atlas 用户界面的 Atlas Vector Search 索引中将plot_embedding
字段索引为vector
类型,并将genres
和year
字段索引为filter
类型。 plot_embedding
字段包含使用 OpenAI 的text-embedding-ada-002
嵌入模型创建的嵌入。索引定义指定了1536
个向量维度,并使用euclidean
维度来衡量相似性。
转到 Create Vector Search Index页面:
转到 Atlas Search 页面。
单击 Create Index(连接)。
选择 Atlas Vector Search Editor 。
单击 Next(连接)。
有关详细说明,请参阅过程。
如果您在集群上加载样本数据并为此集合创建前面的 Atlas Search 索引,则可以对此集合运行$vectorSearch
查询。要了解有关可以运行的示例查询的更多信息,请参阅$vectorSearch 示例。