创建和管理 Atlas Search 索引
Atlas Search 索引是一种数据结构,它以易于搜索的格式对数据进行分类。它是术语与包含这些术语的文档之间的映射。 Atlas Search 索引可以使用某些标识符更快地检索文档。您必须配置 Atlas Search 索引,才能使用 Atlas Search 查询 Atlas 集群中的数据。
您可在单个字段或多个字段上创建 Atlas Search 索引。我们建议您对经常用于排序或筛选数据的字段建立索引,以便在查询时快速检索包含相关数据的文档。
您可以使用以下方法指定要进行索引的字段:
动态映射,使 Atlas Search 能够自动索引每个文档中受支持类型的所有字段。这可能会浪费磁盘空间来索引您永远不会搜索的字段,并对集群性能产生负面影响。
静态映射,可让您有选择地确定要索引的字段。如果字段包含多态数据,Atlas Search 仅对与索引定义中的映射相对应的文档进行索引编制,并忽略包含如下值的文档:与字段的索引定义中指定的映射不对应的值。
尽管 Atlas Search 上存储的数据与 Atlas 集群上的集合中的数据副本不同,但 Atlas Search 索引仍会占用部分磁盘空间和内存。如果您为包含字符串值的字段启用 store
选项,或者如果您在索引中配置存储的源字段,Atlas Search 则会在磁盘上存储指定字段的相同副本,而这可能会占用磁盘空间。
注意
Atlas Search 不支持使用 Atlas 用户界面中的 Customer Key Management(客户密钥管理)通过加密密钥对 Atlas Search 索引进行加密。
Atlas Search 提供内置分析器,用于创建可索引术语,纠正标点符号、大写、停用词等方面的差异。分析器会在查询中应用解析规则和语言规则。您还可以使用可用的内置字符筛选器、分词器和令牌筛选器创建自定义分析器。要了解有关内置和自定义分析器的更多信息,请参阅使用分析器处理数据。
要进一步了解 Atlas Search 对其他数据类型的支持情况,请参阅数据类型。mongot
进程在磁盘上按索引存储集群上集合的索引字段和 _id
字段。
如果您对为其定义 Atlas Search 索引的集合进行更改,最新数据可能无法立即用于查询。但是,mongot
会监控变更流,使其能够更新存储的数据副本,Atlas Search 索引最终也会保持一致。
当您更改索引定义时, mongot
会在后台自动重建新索引,同时继续使用旧索引为查询提供服务,以确保不会停机。当您在同一节点上部署mongot
和mongod
进程以及将进程部署在不同节点上时,会发生这种情况。
如果您更改搜索部署的拓扑结构,Atlas Search 会在删除旧节点之前在任何新节点上预配并构建索引,以确保查询不会停机。
如果mongod
和mongot
进程在同一节点上运行的部署,则当 Atlas Search 引入需要重建索引的更改时(例如,某些 Atlas Search 功能需要更新索引),Atlas 会自动免费部署额外节点构建索引,而旧节点继续为您的查询提供服务。
注意
对于专用搜索节点
喜欢通过观看视频来学习?
观看此视频,了解关于 Atlas Search 索引的概要信息。在此视频中,您可以了解有关分析器和 Atlas Search 自动完成字段类型的更多信息。
时长:8 分钟
支持的客户端
您可以通过 Atlas 用户界面、Atlas Search API、Atlas CLI、 mongosh
、MongoDB Compass 和MongoDB 驱动程序创建和管理 Atlas Search 索引。
Atlas
要使用 Atlas CLI 创建和管理 Atlas Search 索引,您的 Atlas 集群必须运行 MongoDB 6.0+ 或 7.0+。
mongosh
要使用 mongosh
在 M10
及更高版本的 Atlas 集群上创建和管理 Atlas Search 索引,您的 Atlas 集群必须运行 MongoDB 6.0+ 或 7.0+。无法使用 mongosh
命令在 M0
、M2
或 M5
Atlas 集群上创建和管理 Atlas Search 索引。
MongoDB Compass
要在M10
及更高版本的 Atlas 集群上使用Compass创建和管理 Atlas Search 索引,您的 Atlas 集群必须运行 MongoDB 7.0 +。 您无法使用Compass在M0
、 M2
或M5
Atlas 集群上创建和管理 Atlas Search 索引。
MongoDB 驱动程序
要在M10
及更高版本的 Atlas 集群上以编程方式创建和管理 Atlas Search 索引,您可以使用以下任一MongoDB 驱动程序:
MongoDB 驱动程序 | 版本 |
---|---|
1.25.0 或更高版本 | |
3.9.0 或更高版本 | |
2.21.0 或更高版本 | |
1.13.0, 1.13.1 或更高版本 | |
4.11.0 或更高版本 | |
5.6.0 或更高版本 | |
1.17.0 或更高版本 | |
4.5 或更高版本 | |
2.19.2 或更高版本 | |
2.8.0 或更高版本 |
您无法使用MongoDB 驱动程序辅助方法在M0
、 M2
或M5
Atlas 集群上创建和管理 Atlas Search 索引。
后续步骤
要了解如何创建 Atlas Search 索引,请参阅创建 Atlas Search 索引。如需亲身体验为样本数据集创建 Atlas Search 索引以及对索引数据运行 Atlas Search 查询,请尝试以下页面中的教程: