Docs 菜单
Docs 主页
/
MongoDB 阿特拉斯
/

如何为向量搜索建立索引字段

在此页面上

  • 注意事项
  • 语法
  • 关于 vector类型
  • 关于 filter 类型
  • Atlas Vector Search 索引字段
  • 创建 Atlas Vector Search 索引
  • 先决条件
  • 必需的访问权限
  • 免费和共享集群限制
  • 步骤
  • 查看 Atlas Vector Search 索引
  • 必需的访问权限
  • 步骤
  • 编辑 Atlas Vector Search 索引
  • 必需的访问权限
  • 步骤
  • 删除 Atlas Vector Search 索引
  • 必需的访问权限
  • 步骤
  • 索引状态

您可以使用 vectorSearch类型为字段编制索引,以运行 $vectorSearch查询。您可以为要查询的向量嵌入定义索引,以及要用于预筛选数据的布尔值、日期、objectId、数值、字符串或 UUID 值。筛选数据有助于缩小语义搜索的范围,并确保在比较时(例如在多租户环境中)不考虑某些向量嵌入。

您可以使用 Atlas 用户界面、Atlas 管理 API、Atlas CLI、 mongosh或支持的MongoDB 驱动程序创建Atlas Vector Search 索引。

注意

不能使用已弃用的knnBeta操作符来查询使用vectorSearch类型索引定义建立索引的字段。

vectorSearch类型索引定义中,您可以仅使用单个元素对数组进行索引。 您无法对文档数组内的字段或对象数组内的字段进行索引。 您可以使用点表示法对文档内的字段进行索引。

以下语法定义了 vectorSearch 索引类型:

1{
2 "fields":[
3 {
4 "type": "vector",
5 "path": "<field-to-index>",
6 "numDimensions": <number-of-dimensions>,
7 "similarity": "euclidean | cosine | dotProduct"
8 },
9 {
10 "type": "filter",
11 "path": "<field-to-index>"
12 },
13 ...
14 ]
15}

向量字段必须包含 BSON double数据类型的数字数组,才能使用$vectorSearch管道阶段进行查询。 您必须在fields数组内将向量字段索引为vector类型。

以下语法定义了 vector 字段类型:

1{
2 "fields":[
3 {
4 "type": "vector",
5 "path": <field-to-index>,
6 "numDimensions": <number-of-dimensions>,
7 "similarity": "euclidean | cosine | dotProduct"
8 },
9 ...
10 ]
11}

您可以选择对布尔值、日期、objectId、日期、字符串和 UUID 字段建立索引,以预筛选数据。筛选数据有助于缩小语义搜索的范围,并确保不会考虑所有向量进行比较。您必须使用fields数组内的filter类型为这些字段建立索引。

以下语法定义了 filter 字段类型:

1{
2 "fields":[
3 {
4 "type": "vector",
5 ...
6 },
7 {
8 "type": "filter",
9 "path": "<field-to-index>"
10 },
11 ...
12 ]
13}

注意

对数据进行预筛选不会影响 Atlas Vector Search 使用$vectorSearchScore进行$vectorSearch查询返回的分数。

Atlas Vector Search 索引定义采用以下字段:

选项
类型
必要性
用途
fields
文档数组
必需
要索引的向量和筛选器字段,每个文档一个。至少一个文档必须包含向量字段的字段定义。您还可以选择对布尔值、日期、数字、objectId、字符串和 UUID 字段进行索引(每个文档一个),用于对数据进行预过滤。
fields.type
字符串
必需

用于为$vectorSearch的字段编制索引的字段类型。您可以指定以下值之一:

  • vector - 对于包含向量嵌入的字段。

  • filter - 适用于包含布尔值、日期、objectId、数字、字符串或 UUID 值的字段。

fields.path
字符串
必需

要为其创建索引的字段名称。对于嵌套字段,使用点表示法来指定嵌入式字段的路径。不能为包含两个连续点 (.) 和以点 (.) 结尾的字段名称创建索引。例如,Atlas Vector Search支持为以下字段名称创建索引:

foo..bar
字段名称有两个连续的点。
foo_bar.
字段名称以点结尾。
fields.numDimensions
int
必需
Atlas Vector Search 在索引时和查询时强制执行的向量维数。您必须指定小于或等于 4096 的值。您只能为 vector 类型字段设置此字段。
fields.similarity
字符串

必需

用于搜索前 K 个最近邻的向量相似度函数。您只能为 vector 类型字段设置此字段。值包括:

  • euclidean — 测量向量两端之间的距离。该值允许您根据不同的维度来衡量相似性。要了解更多信息,请参阅欧几里得。

  • cosine — 根据向量之间的角度测量相似度。 通过该值,您可以衡量不按幅度缩放的相似度。 不能将零幅度向量与cosine一起使用。 要衡量余弦相似度,我们建议您对向量进行归一化并改用dotProduct 。 要了解更多信息,请参阅 余弦。

  • dotProduct - 与cosine类似的测量值,但考虑了向量的幅度。 通过该值,您可以根据角度和幅度有效地衡量相似度。 要使用dotProduct ,您必须在索引时和查询时将向量规范化为单位长度。 要了解更多信息,请参阅 点积。

注意

如果对幅度进行归一化,则 cosinedotProduct 在衡量相似性方面几乎相同。

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

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

您可以通过 Atlas 用户界面、Atlas 管理 API、Atlas CLI,为任何类型的数据包含长度小于或等于4096维度的向量嵌入的所有集合创建 Atlas Vector Search 索引,以及 Atlas 集群上的其他数据、 mongosh或支持的MongoDB 驱动程序。

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

  • MongoDB 版本6.0.117.0.2或更高版本

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

注意

您不能使用mongosh命令或驱动程序助手方法在M0M2M5 Atlas 集群上创建 Atlas Search 索引。要使用mongosh或驱动程序创建和管理 Atlas Search 索引,请升级到专用集群层。

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

您创建的内容不能超过:

  • M0 集群上具有 3 个索引。

  • M2 集群上有 5 个索引。

  • M5 集群上有 10 个索引。

您可以在 M10+ 集群上创建的索引数量没有限制。


➤ 使用选择语言下拉菜单选择要用于创建索引的客户端。


注意

该过程包括sample_mflix数据库中embedded_movies集合的索引定义示例。 如果您在集群上加载样本数据并为此集合创建示例 Atlas Search 索引,则可以对此集合运行样本$vectorSearch查询。 要了解有关可以运行的示例查询的更多信息,请参阅$vectorSearch 示例。

要使用 Atlas Administration API 为collection创建 Atlas Vector Search 索引,请向 Atlas Search indexes端点发送包含所需参数的POST请求。

1curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
2--header "Accept: application/json" \
3--header "Content-Type: application/json" \
4--include \
5--request POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/indexes" \
6--data '
7 {
8 "database": "<name-of-database>",
9 "collectionName": "<name-of-collection>",
10 "type": "vectorSearch",
11 "name": "<index-name>",
12 "definition": {
13 "fields":[
14 {
15 "type": "vector",
16 "path": <field-to-index>,
17 "numDimensions": <number-of-dimensions>,
18 "similarity": "euclidean | cosine | dotProduct"
19 },
20 {
21 "type": "filter",
22 "path": "<field-to-index>"
23 },
24 ...
25 }
26 ]
27 }'

要了解有关端点语法和参数的更多信息,请参阅创建一个 Atlas Search 索引。

例子

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

以下索引定义仅对用于执行向量Atlas Search的向量嵌入字段进行索引。

1curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
2--header "Accept: application/json" \
3--header "Content-Type: application/json" \
4--include \
5--request POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/indexes" \
6--data '
7 {
8 "database": "sample_mflix",
9 "collectionName": "embedded_movies",
10 "type": "vectorSearch",
11 "name": "vector_index",
12 "definition: {
13 "fields":[
14 {
15 "type": "vector",
16 "path": "plot_embedding",
17 "numDimensions": 1536,
18 "similarity": "euclidean"
19 }
20 ]
21 }
22 }'

此索引定义对以下字段进行索引:

  • 用于预筛选数据的string字段 ( genres ) 和数字字段 ( year )。

  • 向量嵌入字段 (plot_embedding),用于针对预筛选数据执行向量Atlas Search 。

1curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
2--header "Accept: application/json" \
3--header "Content-Type: application/json" \
4--include \
5--request POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/indexes" \
6--data '
7 {
8 "database": "sample_mflix",
9 "collectionName": "embedded_movies",
10 "type": "vectorSearch",
11 "name": "vector_index",
12 "definition: {
13 "fields":[
14 {
15 "type": "vector",
16 "path": "plot_embedding",
17 "numDimensions": 1536,
18 "similarity": "euclidean"
19 },
20 {
21 "type": "filter",
22 "path": "genres"
23 },
24 {
25 "type": "filter",
26 "path": "year"
27 }
28 ]
29 }
30 }'

使用 Atlas CLI v 1为集合创建 Atlas Vector Search 索引。 14 。 3或更高版本,请执行以下步骤:

1

索引定义应类似于以下格式:

1{
2 "database": "<name-of-database>",
3 "collectionName": "<name-of-collection>",
4 "type": "vectorSearch",
5 "name": "<index-name>",
6 "fields":[
7 {
8 "type": "vector",
9 "path": "<field-to-index>",
10 "numDimensions": <number-of-dimensions>,
11 "similarity": "euclidean | cosine | dotProduct"
12 },
13 {
14 "type": "filter",
15 "path": "<field-to-index>"
16 },
17 ...
18 ]
19}

例子

创建一个名为 vector-index.json 的文件。

2
<name-of-database>
包含要为其创建索引的集合的数据库。
<name-of-collection>
要为其创建索引的集合。
<index-name>
索引的名称。如果省略索引名称,Atlas Vector Search 会将索引命名为vector_index
<number-of-dimensions>
Atlas Vector Search 在索引时和查询时实施的向量维度数。
<field-to-index>
要索引的向量和筛选器字段。

例子

将以下索引定义复制并粘贴到vector-index.json文件中。以下索引定义在 Atlas Vector Search 索引中将plot_embedding字段索引为vector类型,并将genresyear字段索引为filter类型。 plot_embedding字段包含使用 OpenAI 的text-embedding-ada-002嵌入模型创建的嵌入。索引定义指定了1536个向量维度,并使用euclidean距离来衡量相似性。

以下索引定义仅对用于执行向量Atlas Search的向量嵌入字段进行索引。

1{
2 "database": "sample_mflix",
3 "collectionName": "embedded_movies",
4 "type": "vectorSearch",
5 "name": "vector_index",
6 "fields": [
7 {
8 "type": "vector",
9 "path": "plot_embedding",
10 "numDimensions": 1536,
11 "similarity": "euclidean"
12 }
13 ]
14}

此索引定义对以下字段进行索引:

  • 用于预筛选数据的string字段 ( genres ) 和数字字段 ( year )。

  • 向量嵌入字段 (plot_embedding),用于针对预筛选数据执行向量Atlas Search 。

1{
2 "database": "sample_mflix",
3 "collectionName": "embedded_movies",
4 "type": "vectorSearch",
5 "name": "vector_index",
6 "fields":[
7 {
8 "type": "vector",
9 "path": "plot_embedding",
10 "numDimensions": 1536,
11 "similarity": "euclidean"
12 },
13 {
14 "type": "filter",
15 "path": "genres"
16 },
17 {
18 "type": "filter",
19 "path": "year"
20 }
21 ]
22}
3
atlas clusters search indexes create --clusterName [cluster_name] --file [vector_index].json

在命令中,替换以下占位符值:

  • cluster_name 是包含要创建索引的集合的 Atlas 集群的名称。

  • vector_index 是包含 Atlas Vector Search 索引的索引定义的JSON文件的名称。

例子

atlas clusters search indexes create --clusterName [cluster_name] --file vector-index.json

要了解有关命令语法和参数的更多信息,请参阅atlas clusters searchindexes create命令的 Atlas CLI 文档。

1
  1. 如果尚未显示,请选择包含所需项目的组织导航栏中的Organizations菜单。

  2. 如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。

  3. 如果 Clusters(数据库部署)页面尚未出现,请单击侧边栏中的 Database(数据库)。

    此时会显示“集群”页面。

2

您可以从侧边栏、 Data Explorer或集群详细信息页面转到 Atlas Search 页面。

  1. 在侧边栏中,单击Services标题下的Atlas Search

  2. Select data source下拉列表中,选择您的集群并单击Go to Atlas Search

    显示Atlas Search页面。

  1. 单击集群的对应 Browse Collections 按钮。

  2. 展开数据库并选择集合。

  3. 单击集合的Search Indexes标签页。

    显示Atlas Search页面。

  1. 单击集群名称。

  2. 单击 Atlas Search 标签页。

    显示Atlas Search页面。

3

要创建,请单击Create Search Index

4
创建 Atlas Vector Search 索引的屏幕截图
点击放大
5
  1. Index Name(索引名称)字段中,输入索引的名称。

    无论索引类型如何,索引名称在命名空间内都必须是唯一的。

    例子

    输入vector_index作为示例索引的名称。如果此集合上已有名为vector_index的索引,请为该索引输入其他名称。

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

    提示

    如果您从Data Explorer导航到此页面,则可以跳过此步骤,因为 Atlas 会预先选择您在Data Explorer中选择的数据库和集合。

    例子

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

6

Atlas Vector Search 索引类似于以下示例:

1{
2 "fields":[
3 {
4 "type": "vector",
5 "path": <field-to-index>,
6 "numDimensions": <number-of-dimensions>,
7 "similarity": "euclidean | cosine | dotProduct"
8 },
9 {
10 "type": "filter",
11 "path": "<field-to-index>"
12 },
13 ...
14 ]
15}

要了解有关索引中字段的更多信息,请参阅如何为向量搜索的字段创建索引。

例子

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

以下索引定义仅对用于执行向量Atlas Search的向量嵌入字段进行索引。

1{
2 "fields": [{
3 "type": "vector",
4 "path": "plot_embedding",
5 "numDimensions": 1536,
6 "similarity": "euclidean"
7 }]
8}

此索引定义对以下字段进行索引:

  • 用于预筛选数据的string字段 ( genres ) 和数字字段 ( year )。

  • 向量嵌入字段 (plot_embedding),用于针对预筛选数据执行向量Atlas Search 。

1{
2 "fields": [{
3 "type": "vector",
4 "path": "plot_embedding",
5 "numDimensions": 1536,
6 "similarity": "euclidean"
7 },
8 {
9 "type": "filter",
10 "path": "genres"
11 },
12 {
13 "type": "filter",
14 "path": "year"
15 }]
16}
7
8

Atlas 会显示一个模态窗口,让您知道您的索引正在构建中。

9
10

新创建的索引会出现在 Atlas Search 标签页上。在构建索引期间,Status 字段显示为 Build in Progress。索引构建完成后,Status 字段将显示为Active

注意

较大的集合需要较长的索引时间。索引构建完成后,您将收到电子邮件通知。

使用mongosh v 2为集合创建 Atlas Vector Search 索引。 1 。 2或更高版本,请执行以下步骤:

1

要了解更多信息,请参阅通过mongosh连接。

2

例子

use sample_mflix
switched to db sample_mflix
3

db.collection.createSearchIndex() 方法使用的语法如下:

1db.<collectionName>.createSearchIndex(
2 "<index-name>",
3 "vectorSearch", //index type
4 {
5 fields: [
6 {
7 "type": "vector",
8 "numDimensions": <number-of-dimensions>,
9 "path": "<field-to-index>",
10 "similarity": "euclidean | cosine | dotProduct"
11 },
12 {
13 "type": "filter",
14 "path": "<field-to-index>"
15 },
16 ...
17 ]
18 }
19);

例子

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

以下索引定义仅对用于执行向量Atlas Search的向量嵌入字段进行索引。

1db.embedded_movies.createSearchIndex(
2 "vector_index",
3 "vectorSearch",
4 {
5 "fields": [
6 {
7 "type": "vector",
8 "path": "plot_embedding",
9 "numDimensions": 1536,
10 "similarity": "euclidean"
11 }
12 ]
13 }
14);

此索引定义对以下字段进行索引:

  • 用于预筛选数据的string字段 ( genres ) 和数字字段 ( year )。

  • 向量嵌入字段 (plot_embedding),用于针对预筛选数据执行向量Atlas Search 。

1db.embedded_movies.createSearchIndex(
2 "vector_index",
3 "vectorSearch",
4 {
5 "fields": [
6 {
7 "type": "vector",
8 "path": "plot_embedding",
9 "numDimensions": 1536,
10 "similarity": "euclidean"
11 },
12 {
13 "type": "filter",
14 "path": "genres"
15 },
16 {
17 "type": "filter",
18 "path": "year"
19 }
20 ]
21 }
22);

要使用MongoDB 节点驱动程序v 6.6.0或更高版本为集合创建 Atlas Vector Search 索引,请执行以下步骤:

1
1const { MongoClient } = require("mongodb");
2
3// connect to your Atlas deployment
4const uri = "<connectionString>";
5
6const client = new MongoClient(uri);
7
8async function run() {
9 try {
10 const database = client.db("<databaseName>");
11 const collection = database.collection("<collectionName>");
12
13 // define your Atlas Vector Search index
14 const index = {
15 name: "<indexName>",
16 type: "vectorSearch",
17 definition: {
18 "fields": [
19 {
20 "type": "vector",
21 "numDimensions": <numberOfDimensions>,
22 "path": "<fieldToIndex>",
23 "similarity": "euclidean | cosine | dotProduct"
24 },
25 {
26 "type": "filter",
27 "path": "<fieldToIndex>"
28 },
29 ...
30 ]
31 }
32 }
33
34 // run the helper method
35 const result = await collection.createSearchIndex(index);
36 console.log(result);
37 } finally {
38 await client.close();
39 }
40}
41run().catch(console.dir);

例子

创建一个名为 vector-index.js 的文件。

2
<connectionString>
Atlas连接string 。 要了解更多信息,请参阅通过驱动程序连接。
<databaseName>
包含要为其创建索引的集合的数据库。
<collectionName>
要为其创建索引的集合。
<indexName>
索引的名称。 如果省略索引名称,Atlas Search 会将索引命名为vector_index
<numberOfDimensions>
Atlas Vector Search 在索引时和查询时实施的向量维度数。
<fieldToIndex>
要索引的向量和筛选器字段。

例子

将以下内容复制并粘贴到vector-index.js文件中,并替换<connectionString>占位符值。 以下索引定义在 Atlas Vector Search 索引中将plot_embedding字段索引为vector类型,将genresyear字段索引为filter类型。 plot_embedding字段包含使用 OpenAI 的text-embedding-ada-002嵌入模型创建的嵌入。 索引定义指定了1536向量维度,并使用euclidean距离来衡量相似性。

以下索引定义仅对用于执行向量Atlas Search的向量嵌入字段 (plot_embedding) 编制索引。

1const { MongoClient } = require("mongodb");
2
3// connect to your Atlas deployment
4const uri = "<connectionString>";
5
6const client = new MongoClient(uri);
7
8async function run() {
9 try {
10 const database = client.db("sample_mflix");
11 const collection = database.collection("embedded_movies");
12
13 // define your Atlas Vector Search index
14 const index = {
15 name: "vector_index",
16 type: "vectorSearch",
17 definition: {
18 "fields": [
19 {
20 "type": "vector",
21 "numDimensions": 1536,
22 "path": "plot_embedding",
23 "similarity": "euclidean"
24 }
25 ]
26 }
27 }
28
29 // run the helper method
30 const result = await collection.createSearchIndex(index);
31 console.log(result);
32 } finally {
33 await client.close();
34 }
35}
36run().catch(console.dir);

此索引定义对以下字段进行索引:

  • 用于预筛选数据的string字段 ( genres ) 和数字字段 ( year )。

  • 向量嵌入字段 (plot_embedding),用于针对预筛选数据执行向量Atlas Search 。

1const { MongoClient } = require("mongodb");
2
3// connect to your Atlas deployment
4const uri = "<connectionString>";
5
6const client = new MongoClient(uri);
7
8async function run() {
9 try {
10 const database = client.db("sample_mflix");
11 const collection = database.collection("embedded_movies");
12
13 // define your Atlas Vector Search index
14 const index = {
15 name: "vector_index",
16 type: "vectorSearch",
17 definition: {
18 "fields": [
19 {
20 "type": "vector",
21 "numDimensions": 1536,
22 "path": "plot_embedding",
23 "similarity": "euclidean"
24 },
25 {
26 "type": "filter",
27 "path": "genres"
28 },
29 {
30 "type": "filter",
31 "path": "year"
32 }
33 ]
34 }
35 }
36
37 // run the helper method
38 const result = await collection.createSearchIndex(index);
39 console.log(result);
40 } finally {
41 await client.close();
42 }
43}
44run().catch(console.dir);
3
node <file-name>.js

例子

node vector_index.js

要使用PyMongo驱动程序 v 4.7或更高版本为集合创建 Atlas Vector Search 索引,请执行以下步骤:

1
1import pymongo
2from pymongo.mongo_client import MongoClient
3from pymongo.operations import SearchIndexModel
4
5# Connect to your Atlas deployment
6uri = "<connectionString>"
7client = MongoClient(uri)
8
9# Access your database and collection
10database = client["<databaseName>"]
11collection = database["<collectionName>"]
12
13# Create your index model, then create the search index
14search_index_model = SearchIndexModel(
15 definition={
16 "fields": [
17 {
18 "type": "vector",
19 "numDimensions": <numberofDimensions>,
20 "path": "<fieldToIndex>",
21 "similarity": "euclidean | cosine | dotProduct"
22 },
23 {
24 "type": "filter",
25 "path": "<fieldToIndex>"
26 },
27 ...
28 ]
29 },
30 name="<index name>",
31 type="vectorSearch",
32)
33
34result = collection.create_search_index(model=search_index_model)
35print(result)

要了解详情,请参阅 create_search_index() 方法。

1from pymongo.mongo_client import MongoClient
2from pymongo.operations import SearchIndexModel
3
4def create_indexes():
5 # Connect to your Atlas deployment
6 uri = "<connectionString>"
7 client = MongoClient(uri)
8
9 # Access your database and collection
10 database = client["<databaseName>"]
11 collection = database["<collectionName>"]
12
13 # Create your index models and add them to an array
14 first_model = SearchIndexModel(
15 definition={
16 "fields": [
17 {
18 "type": "vector",
19 "numDimensions": <numberOfDimensions>,
20 "path": "<fieldToIndex>",
21 "similarity": "euclidean | cosine | dotProduct"
22 },
23 {
24 "type": "filter",
25 "path": "<fieldToIndex>"
26 },
27 ...
28 ]
29 },
30 name="<indexName>",
31 type="vectorSearch",
32 )
33
34 second_model = SearchIndexModel(
35 definition={
36 "fields": [
37 {
38 "type": "vector",
39 "numDimensions": <numberOfDimensions>,
40 "path": "<fieldToIndex>",
41 "similarity": "euclidean | cosine | dotProduct"
42 },
43 {
44 "type": "filter",
45 "path": "<fieldToIndex>"
46 },
47 ...
48 ]
49 },
50 name="<index name>",
51 type="vectorSearch",
52 )
53
54 ...
55
56 idx_models = [first_model, second_model, ...]
57
58 # Create the search indexes
59 result = collection.create_search_indexes(models=idx_models)
60 print(result)

要了解详情,请参阅 create_search_indexes() 方法。

例子

创建一个名为 vector-index.py 的文件。

2
<connectionString>
Atlas连接string 。 要了解更多信息,请参阅通过驱动程序连接。
<databaseName>
包含要为其创建索引的集合的数据库。
<collectionName>
要为其创建索引的集合。
<indexName>
索引的名称。 如果省略索引名称,Atlas Search 会将索引命名为vector_index
<numberOfDimensions>
Atlas Vector Search 在索引时和查询时实施的向量维度数。
<fieldToIndex>
要索引的向量和筛选器字段。

例子

将以下内容复制并粘贴到vector-index.py中,并替换<connectionString>占位符值。 以下索引定义在 Atlas Vector Search 索引中将plot_embedding字段索引为vector类型,将genresyear字段索引为filter类型。 plot_embedding字段包含使用 OpenAI 的text-embedding-ada-002嵌入模型创建的嵌入。 索引定义指定了1536向量维度,并使用euclidean距离来衡量相似性。

以下索引定义仅对用于执行向量Atlas Search的向量嵌入字段 (plot_embedding) 编制索引。

1from pymongo.mongo_client import MongoClient
2from pymongo.operations import SearchIndexModel
3
4# Connect to your Atlas deployment
5uri = "<connectionString>"
6client = MongoClient(uri)
7
8# Access your database and collection
9database = client["sample_mflix"]
10collection = database["embedded_movies"]
11
12# Create your index model, then create the search index
13search_index_model = SearchIndexModel(
14 definition={
15 "fields": [
16 {
17 "type": "vector",
18 "path": "plot_embedding",
19 "numDimensions": 1536,
20 "similarity": "euclidean"
21 }
22 ]
23 },
24 name="vector_index",
25 type="vectorSearch",
26)
27
28result = collection.create_search_index(model=search_index_model)
29print(result)

此索引定义对以下字段进行索引:

  • 用于预筛选数据的string字段 ( genres ) 和数字字段 ( year )。

  • 向量嵌入字段 (plot_embedding),用于针对预筛选数据执行向量Atlas Search 。

1from pymongo.mongo_client import MongoClient
2from pymongo.operations import SearchIndexModel
3
4# Connect to your Atlas deployment
5uri = "<connectionString>"
6client = MongoClient(uri)
7
8# Access your database and collection
9database = client["sample_mflix"]
10collection = database["embedded_movies"]
11
12# Create your index model, then create the search index
13search_index_model = SearchIndexModel(
14 definition={
15 "fields": [
16 {
17 "type": "vector",
18 "path": "plot_embedding",
19 "numDimensions": 1536,
20 "similarity": "euclidean"
21 },
22 {
23 "type": "filter",
24 "path": "genres"
25 },
26 {
27 "type": "filter",
28 "path": "year"
29 }
30 ]
31 },
32 name="vector_index",
33 type="vectorSearch",
34)
35
36result = collection.create_search_index(model=search_index_model)
37print(result)
3
python <file-name>.py

例子

python vector-index.py

您可以从 Atlas 用户界面、Atlas 管理 API、Atlas CLI、 mongosh或支持的MongoDB 驱动程序查看所有集合的 Atlas Vector Search 索引。

您需要Project Search Index Editor或更高的角色才能查看 Atlas Vector Search 搜索索引。

注意

您无法使用mongosh命令或驱动程序助手方法来检索M0M2M5 Atlas 集群上的 Atlas Search 索引。要使用mongosh或驱动程序创建和管理 Atlas Search 索引,请升级到专用集群层。


➤ 使用选择语言下拉菜单设置本节中示例的语言。


要使用 Atlas Administration API 检索集合的所有 Atlas Vector Search 索引,请向 Atlas Search indexes端点发送GET请求,其中包含数据库和集合的名称。

1curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
2 --header "Accept: application/json" \
3 --include \
4 --request GET "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/indexes/{databaseName}/{collectionName}"

要了解有关端点语法和参数的更多信息,请参阅返回一个集合的所有 Atlas Search 索引。

要使用 Atlas Administration API 检索集合的一个 Atlas Vector Search 索引,请向 Atlas Search indexes端点发送GET请求,并附带要检索的索引(第4行)的唯一 ID 或名称。

1curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
2 --header "Accept: application/json" \
3 --include \
4 --request GET "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/indexes/{indexId} | https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/indexes/{databaseName}/{collectionName}/{indexName|indexId}"

要了解有关端点的语法和参数的更多信息,请参阅“按名称获取一个”和“按 ID 获取一个”。

要使用 Atlas CLI 返回集合的 Atlas Vector Search 索引,请执行以下步骤:

1
clusterName
Atlas 集群的名称。
db
Atlas 集群上包含索引集合的数据库的名称。
collection
数据库中索引集合的名称。
projectId
项目的唯一标识符。
2
atlas clusters search indexes list --clusterName [cluster_name] --db <db-name> --collection <collection-name>

在命令中,替换以下占位符值:

  • cluster-name — 包含索引集合的 Atlas 集群的名称。

  • db-name - 包含要检索其索引的集合的数据库的名称。

  • collection-name - 要检索其索引的集合的名称。

要了解有关命令语法和参数的更多信息,请参阅atlas clusters searchindexes list命令的 Atlas CLI 文档。

1
  1. 如果尚未显示,请选择包含所需项目的组织导航栏中的Organizations菜单。

  2. 如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。

  3. 如果 Clusters(数据库部署)页面尚未出现,请单击侧边栏中的 Database(数据库)。

    此时会显示“集群”页面。

2

您可以从侧边栏、 Data Explorer或集群详细信息页面转到 Atlas Search 页面。

  1. 在侧边栏中,单击Services标题下的Atlas Search

  2. Select data source下拉列表中,选择您的集群并单击Go to Atlas Search

    显示Atlas Search页面。

  1. 单击集群的对应 Browse Collections 按钮。

  2. 展开数据库并选择集合。

  3. 单击集合的Search Indexes标签页。

    显示Atlas Search页面。

  1. 单击集群名称。

  2. 单击 Atlas Search 标签页。

    显示Atlas Search页面。

此页面会显示页面上索引的以下详细信息:

名称
标识索引的标签。
索引类型

指示 Atlas Search 或 Atlas Vector Search 索引的标签。 值包括:

  • search 用于 Atlas Search 索引。

  • vectorSearch 用于 Atlas Vector Search 搜索索引。

索引字段
包含此索引索引的字段的列表。
状态
集群主节点上索引的当前状态。有关有效值,请参阅索引状态。
size
主节点上索引的大小。
文档 (Document)
已建立索引的文档数与集合中文档总数的比值。
操作

可以对索引执行的操作。 您可以:

注意

您无法在Search Tester用户界面中针对vectorSearch类型的索引运行查询。 如果您单击Query按钮,Atlas Vector Search 会显示一个示例$vectorSearch ,您可以在Data Explorer中以及使用其他支持的客户端中复制、修改和运行该示例。

要使用mongosh查看集合的 Atlas Vector Search 索引,请执行以下步骤:

1

要了解更多信息,请参阅通过mongosh连接。

2
3

db.collection.getSearchIndexes() 方法使用的语法如下:

1db.<collectionName>.getSearchIndexes( "<index-name>" );

使用MongoDB 节点驱动程序v 6查看集合的 Atlas Vector Search 索引。 6 。 0或更高版本,请执行以下步骤:

1
1const { MongoClient } = require("mongodb");
2
3// connect to your Atlas deployment
4const uri = "<connectionString>";
5
6const client = new MongoClient(uri);
7
8async function run() {
9 try {
10 const database = client.db("<databaseName>");
11 const collection = database.collection("<collectionName>");
12
13 // run the helper method
14 const result = await collection.listSearchIndexes("<indexName>").toArray();
15 console.log(result);
16 } finally {
17 await client.close();
18 }
19}
20run().catch(console.dir);
2
<connectionString>
Atlas 连接字符串。要了解更多信息,请参阅通过驱动程序连接
<databaseName>
包含该集合的数据库。
<collectionName>
要检索其索引的集合。
<indexName>
如果要检索特定索引,请输入索引的名称。 要返回集合上的所有索引,请省略此值。
3
node <file-name>.js

使用PyMongo驱动程序 v 4查看集合的 Atlas Vector Search 索引。 7或更高版本,请执行以下步骤:

1
1from pymongo.mongo_client import MongoClient
2
3# Connect to your Atlas deployment
4uri = "<connectionString>"
5client = MongoClient(uri)
6
7# Access your database and collection
8database = client["<databaseName>"]
9collection = database["<collectionName>"]
10
11# Get a list of the collection's search indexes and print them
12cursor = collection.list_search_indexes()
13for index in cursor:
14 print(index)

要了解详情,请参阅 list_search_indexes() 方法。

2
<connectionString>
Atlas 连接字符串。要了解更多信息,请参阅通过驱动程序连接
<databaseName>
包含该集合的数据库名称。
<collectionName>
集合的名称。
3
python <file-name>.py

您可以通过 Atlas 用户界面、Atlas 管理 API、Atlas CLI、mongosh 或支持的 MongoDB 驱动程序 更改现有 Atlas Vector Search 索引的 索引定义 。您无法重命名索引或更改索引类型。如果需要更改索引名称或类型,则必须创建新索引并删除旧索引。

重要

编辑索引后,Atlas Vector Search 会重建索引。重建索引时,您可以使用旧索引定义继续运行向量搜索查询。当索引完成重建后,旧索引将被自动替换。此过程与标准 Atlas Search 索引的过程相同。

要了解更多信息,请参阅创建和更新 Atlas Search 索引。

您必须具有Project Search Index Editor或更高角色才能编辑 Atlas Vector Search 索引。

注意

您不能使用mongosh命令或驱动程序助手方法编辑M0M2M5 Atlas 集群上的 Atlas Search 索引。要使用mongosh或驱动程序创建和管理 Atlas Search 索引,请升级到专用集群层。


➤ 使用选择语言下拉菜单选择要用于编辑索引的客户端。


要使用 Atlas Administration API 编辑集合的 Atlas Vector Search 索引,请向 Atlas Search indexes端点发送PATCH请求,并附带要编辑的索引的唯一 ID 或名称(第4行)。

1curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest --include \
2 --header "Accept: application/json" \
3 --header "Content-Type: application/json" \
4 --request PATCH "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/indexes/{indexId} | https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/indexes/{databaseName}/{collectionName}/{indexName|indexId}" \
5 --data'
6 {
7 "database": "<name-of-database>",
8 "collectionName": "<name-of-collection>",
9 "type": "vectorSearch",
10 "name": "<index-name>",
11 "definition": {
12 "fields":[
13 {
14 "type": "vector",
15 "path": <field-to-index>,
16 "numDimensions": <number-of-dimensions>,
17 "similarity": "euclidean | cosine | dotProduct"
18 },
19 {
20 "type": "filter",
21 "path": "<field-to-index>"
22 },
23 ...
24 }
25 ]
26 }'

要了解有关端点的语法和参数的更多信息,请参阅按名称更新和按 ID 更新。

要使用 Atlas CLI 编辑集合的 Atlas Vector Search 索引,请执行以下步骤:

1

索引定义应类似于以下格式:

1{
2 "database": "<name-of-database>",
3 "collectionName": "<name-of-collection>",
4 "type": "vectorSearch",
5 "name": "<index-name>",
6 "fields":[
7 {
8 "type": "vector",
9 "path": "<field-to-index>",
10 "numDimensions": <number-of-dimensions>,
11 "similarity": "euclidean | cosine | dotProduct"
12 },
13 {
14 "type": "filter",
15 "path": "<field-to-index>"
16 },
17 ...
18 ]
19}
2
<name-of-database>
包含要为其创建索引的集合的数据库。
<name-of-collection>
要为其创建索引的集合。
<index-name>
索引的名称。如果省略索引名称,Atlas Vector Search 会将索引命名为vector_index
<number-of-dimensions>
Atlas Vector Search 在索引时和查询时实施的向量维度数。
<field-to-index>
要索引的向量和筛选器字段。
3
atlas clusters search indexes update <indexId> --clusterName [cluster_name] --file [vector-_index].json

在命令中,替换以下占位符值:

  • cluster_name - 包含要更新索引的集合的 Atlas 集群的名称。

  • vector_indexJSON文件的名称,该文件包含 Atlas Vector Search 索引的修改后的索引定义。

要了解有关命令语法和参数的更多信息,请参阅 Atlas集群搜索索引更新命令的 Atlas CLI 文档。

1
  1. 如果尚未显示,请选择包含所需项目的组织导航栏中的Organizations菜单。

  2. 如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。

  3. 如果 Clusters(数据库部署)页面尚未出现,请单击侧边栏中的 Database(数据库)。

    此时会显示“集群”页面。

2

您可以从侧边栏、 Data Explorer或集群详细信息页面转到 Atlas Search 页面。

  1. 在侧边栏中,单击Services标题下的Atlas Search

  2. Select data source下拉列表中,选择您的集群并单击Go to Atlas Search

    显示Atlas Search页面。

  1. 单击集群的对应 Browse Collections 按钮。

  2. 展开数据库并选择集合。

  3. 单击集合的Search Indexes标签页。

    显示Atlas Search页面。

  1. 单击集群名称。

  2. 单击 Atlas Search 标签页。

    显示Atlas Search页面。

3
  1. 找到要编辑的vectorSearch类型索引。

  2. 从该索引的Actions下拉列表中单击Edit Index

  3. 查看当前配置设置并根据需要进行编辑。

    要了解有关 Atlas Vector Search 索引中字段的更多信息,请参阅如何为 Vector Search 的字段创建索引。

  4. 单击Save以应用更改。

索引状态从Active更改为Building 。在此状态下,您可以继续使用旧索引,因为在更新后的索引可供使用之前,Atlas Vector Search 不会删除旧索引。一旦状态返回到Active ,修改后的索引就可以使用了。

要使用mongosh编辑集合的 Atlas Vector Search 索引,请执行以下步骤:

1

要了解更多信息,请参阅通过mongosh连接。

2
3

db.collection.updateSearchIndex() 方法使用的语法如下:

1db.<collectionName>.updateSearchIndex(
2 "<index-name>",
3 {
4 fields: [
5 {
6 "type": "vector",
7 "numDimensions": <number-of-dimensions>,
8 "path": "<field-to-index>",
9 "similarity": "euclidean | cosine | dotProduct"
10 },
11 {
12 "type": "filter",
13 "path": "<field-to-index>"
14 },
15 ...
16 ]
17 }
18);

使用MongoDB 节点驱动程序v 6更新集合的 Atlas Vector Search 索引。 6 。 0或更高版本,请执行以下步骤:

1
1const { MongoClient } = require("mongodb");
2
3// connect to your Atlas deployment
4const uri = "<connection-string>";
5
6const client = new MongoClient(uri);
7
8async function run() {
9 try {
10 const database = client.db("<databaseName>");
11 const collection = database.collection("<collectionName>");
12
13 // define your Atlas Search index
14 const index = {
15 name: "<indexName>",
16 type: "vectorSearch",
17 //updated search index definition
18 definition: {
19 "fields": [
20 {
21 "type": "vector",
22 "numDimensions": <numberOfDimensions>,
23 "path": "<field-to-index>",
24 "similarity": "euclidean | cosine | dotProduct"
25 },
26 {
27 "type": "filter",
28 "path": "<fieldToIndex>"
29 },
30 ...
31 ]
32 }
33 }
34
35 // run the helper method
36 await collection.updateSearchIndex("<index-name>", index);
37 } finally {
38 await client.close();
39 }
40}
41run().catch(console.dir);
2
<connectionString>
Atlas连接string 。 要了解更多信息,请参阅通过驱动程序连接。
<databaseName>
包含要为其创建索引的集合的数据库。
<collectionName>
要为其创建索引的集合。
<indexName>
索引的名称。 如果省略索引名称,Atlas Search 会将索引命名为vector_index
<numberOfDimensions>
Atlas Vector Search 在索引时和查询时实施的向量维度数。
<fieldToIndex>
要索引的向量和筛选器字段。
3
node <file-name>.js

使用PyMongo驱动程序 v 4更新集合的 Atlas Vector Search 索引。 7或更高版本,请执行以下步骤:

1
1from pymongo.mongo_client import MongoClient
2
3# Connect to your Atlas deployment
4uri = "<connectionString>"
5client = MongoClient(uri)
6
7# Access your database and collection
8database = client["<databaseName>"]
9collection = database["<collectionName>"]
10
11definition = {
12 "fields": [
13 {
14 "type": "vector",
15 "numDimensions": <numberofDimensions>,
16 "path": "<fieldToIndex>",
17 "similarity": "euclidean | cosine | dotProduct"
18 },
19 {
20 "type": "filter",
21 "path": "<fieldToIndex>"
22 },
23 ...
24 ]
25}
26
27# Update your search index
28collection.update_search_index("<indexName>", definition)

要了解详情,请参阅 update_search_index() 方法。

2
<connectionString>
Atlas连接string 。 要了解更多信息,请参阅通过驱动程序连接。
<databaseName>
包含要为其创建索引的集合的数据库。
<collectionName>
要为其创建索引的集合。
<indexName>
索引的名称。如果省略索引名称,Atlas Search 会将索引命名为vector_index
<numberOfDimensions>
Atlas Vector Search 在索引时和查询时实施的向量维度数。
<fieldToIndex>
要索引的向量和筛选器字段。
3
python <file-name>.py

您可以随时从 Atlas 用户界面、Atlas 管理 API、Atlas CLI、 mongosh或支持的MongoDB 驱动程序中删除 Atlas Vector Search 索引。

您必须具有Project Search Index Editor或更高角色才能删除 Atlas Vector Search 索引。

注意

您不能使用mongosh命令或驱动程序助手方法删除M0M2M5 Atlas 集群上的 Atlas Search 索引。 要使用mongosh或驱动程序创建和管理 Atlas Search 索引,请升级到专用集群层。


➤ 使用选择语言下拉菜单选择要用于删除索引的客户端。


要使用 Atlas Administration API 删除集合的 Atlas Vector Search 索引,请向 Atlas Search indexes端点发送DELETE请求,并附带要删除的索引的唯一 ID 或名称。

1curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
2 --header "Accept: application/json" \
3 --include \
4 --request DELETE "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/indexes/{indexId} | https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/indexes/{databaseName}/{collectionName}/{indexName|indexId}"

要了解有关端点语法和参数的更多信息,请参阅“按名称删除一个搜索索引”和“按 ID 删除一个搜索索引”。

要使用 Atlas CLI 删除集合的 Atlas Vector Search 索引,请执行以下步骤:

1
<indexId>
要删除的索引的唯一标识符。
<clusterName>
Atlas 集群的名称。
<projectId>
项目的唯一标识符。
2
atlas clusters search indexes delete <indexId> [options]

在命令中,将indexId占位符值替换为要删除的索引的唯一标识符。

要了解有关命令语法和参数的更多信息,请参阅atlas clusters searchindexes delete命令的 Atlas CLI 文档。

1
  1. 如果尚未显示,请选择包含所需项目的组织导航栏中的Organizations菜单。

  2. 如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。

  3. 如果 Clusters(数据库部署)页面尚未出现,请单击侧边栏中的 Database(数据库)。

    此时会显示“集群”页面。

2

您可以从侧边栏、 Data Explorer或集群详细信息页面转到 Atlas Search 页面。

  1. 在侧边栏中,单击Services标题下的Atlas Search

  2. Select data source下拉列表中,选择您的集群并单击Go to Atlas Search

    显示Atlas Search页面。

  1. 单击集群的对应 Browse Collections 按钮。

  2. 展开数据库并选择集合。

  3. 单击集合的Search Indexes标签页。

    显示Atlas Search页面。

  1. 单击集群名称。

  2. 单击 Atlas Search 标签页。

    显示Atlas Search页面。

3
  1. 找到要删除的vectorSearch类型索引。

  2. 从该索引的Actions下拉列表中单击Delete Index

  3. 单击确认窗口中的 Drop Index

要使用mongosh删除集合的 Atlas Vector Search 索引,请执行以下步骤:

1

要了解更多信息,请参阅通过mongosh连接。

2
3

db.collection.dropSearchIndex() 方法使用的语法如下:

1db.<collectionName>.dropSearchIndex( "<index-name>" );

要使用MongoDB 节点驱动程序v 6.6.0或更高版本删除集合的 Atlas Vector Search 索引,请执行以下步骤:

1
1const { MongoClient } = require("mongodb");
2
3// connect to your Atlas deployment
4const uri = "<connectionString>";
5
6const client = new MongoClient(uri);
7
8async function run() {
9 try {
10 const database = client.db("<databaseName>");
11 const collection = database.collection("<collectionName>");
12
13 // run the helper method
14 await collection.dropSearchIndex("<indexName>");
15
16 } finally {
17 await client.close();
18 }
19}
20run().catch(console.dir);
2
<connectionString>
Atlas 连接字符串。要了解更多信息,请参阅通过驱动程序连接
<databaseName>
包含要创建索引的集合的数据库。
<collectionName>
要为其创建索引的集合。
<indexName>
索引名称。如果省略索引名称,Atlas Search 会将索引命名为 vector_index
3
node <file-name>.js

使用PyMongo驱动程序 v 4删除集合的 Atlas Vector Search 索引。 7或更高版本,请执行以下步骤:

1
1from pymongo.mongo_client import MongoClient
2
3# Connect to your Atlas deployment
4uri = "<connectionString>"
5client = MongoClient(uri)
6
7# Access your database and collection
8database = client["<databaseName>"]
9collection = database["<collectionName>"]
10
11# Delete your search index
12collection.drop_search_index("<indexName>")

要了解详情,请参阅 drop_search_index() 方法。

2
<connectionString>
Atlas 连接字符串。要了解更多信息,请参阅通过驱动程序连接
<databaseName>
包含该集合的数据库名称。
<collectionName>
集合的名称。
<indexName>
要删除的索引的名称。
3
python <file-name>.py

在您创建 Atlas Vector Search 索引时,Status 列显示集群主节点上的索引的当前状态。可以单击状态下面的 View status details 链接,以查看集群的所有节点上的索引的状态。

Status 列显示为 Active时,索引已准备就绪,可供使用。在其他状态下,对索引的查询可能会返回不完整的结果。

状态
说明
未启动
Atlas 尚未开始构建索引。
初始化同步(Resumable Initial Sync)

Atlas 正在构建索引或在编辑后重新构建索引。当该索引处于以下状态时:

  • 对于新索引,Atlas Vector Search 在索引构建完成之前不会提供查询。

  • 对于现有索引,可继续使用旧索引进行现有查询和新查询,直到索引重建完成。

活跃的
索引已准备就绪。
正在恢复
复制遇到错误。当当前复制点在mongod oplog 上不再可用时,通常会出现此状态。您仍然可以查询现有索引,直到它更新并且其状态变为Active 。使用View status details模式窗口中的错误来解决问题。要了解更多信息,请参阅修复 Atlas Search 问题。
已失败
Atlas 无法构建索引。使用 View status details(查看状态详细信息)模式窗口中的错误来解决问题。要了解更多信息,请参阅修复 Atlas Search 问题。
正在删除
Atlas 正在从集群节点中删除索引。

当 Atlas 构建索引时以及构建完成后,Documents 列会显示已完成索引的文档的百分比和数量。该列还会显示集合中的文档总数。

以下部分介绍了如何创建和管理 Atlas Vector Search 索引

后退

如何创建向量嵌入

来年

创建和运行查询