常见问题解答:Atlas Search
在此页面上
- 启用并使用 Atlas Search 是否需要付费?
- 我可以运行与 Atlas Search 查询匹配的部分字符串吗?
- 我是否可以使用
wildcard
或regex
操作符执行不区分大小写的搜索? storedSource
是否支持字段上不区分大小写的排序规则?- 我是否可以使用分片键对特定分片运行 Atlas Search 查询?
- 查询是在主节点还是从节点上运行?
- 我是否可以复制索引?
- Atlas Search 是否将我的整个索引存储在内存中?
- 为什么我的搜索索引消失了?
- 我是否可以通过云备份快照恢复 Atlas Search 索引?
- Atlas Search 是否可以与 CSFLE 加密客户端一起使用?
- 我是否可以查询 CSFLE 加密的数据?
- 我是否可以将 Queryable Encryption 与 Atlas Search 一起使用?
- 我是否可以对时间序列集合使用 Atlas Search?
- 我可以请求新功能吗?
- MongoDB 支持部门可以访问我的搜索基础架构和日志吗?
启用并使用 Atlas Search 是否需要付费?
不需要,在 Atlas 集群上启用 Atlas Search 时,不会产生任何额外费用或收费。但是,您可能会发现集群上的资源利用率有所增加,具体取决于索引集合大小或索引定义等因素。要管理和控制 Atlas Search 资源利用率,您可以部署个专用搜索节点,这是每个节点的额外成本。我们建议在您的生产环境中使用此方法。
我可以运行与 Atlas Search 查询匹配的部分字符串吗?
是。以下 Atlas Search 操作符支持部分字符串匹配查询:
我是否可以使用wildcard
或regex
操作符执行不区分大小写的搜索?
是。您可以将 wildcard 和 regex 操作符与自定义分析器一起使用,以执行不区分大小写的搜索。您可以使用以下分词器和词元筛选器定义自定义分析器,以执行通配符不区分大小写搜索:
storedSource
是否支持字段上不区分大小写的排序规则?
是。Atlas Search storedSource 选项存储原始值。要在 $search
阶段之后对使用 returnStoredSource 选项返回的结果执行不区分大小写的操作,您必须在创建集合时将集合的默认排序规则强度设置为 1
或 2
,并且不能在查询和索引中指定不同的排序规则。
我是否可以使用分片键对特定分片运行 Atlas Search 查询?
否,您无法使用分片键对特定分片或一部分分片运行 Atlas Search 查询。在分片集群环境中,Atlas Search 查询是对所有分片运行的分散-聚集查询。
但是,如果您使用区域将分片集合分发到集群中的一部分分片上,则 Atlas Search 会将查询路由到包含您正在查询的集合的分片的区域,并运行$search
查询仅在集合所在的分片上。
查询是在主节点还是从节点上运行?
默认情况下,查询在主节点上运行。您可以配置读取偏好,或使用副本集标记指定读取偏好。要了解更多信息,请参阅 Atlas Search 概述。
我是否可以复制索引?
是,您可以执行以下操作以复制索引:
创建新的 Atlas Search 索引。
使用 Atlas Search JSON Editor(JSON 编辑器)创建新的索引。粘贴您复制的索引,然后单击 Create Search Index(创建搜索索引)。在创建 Atlas Search 索引后,您可以直接在 Atlas Search JSON Editor(JSON 编辑器)或 Atlas Search Visual Index Builder(可视化索引构建器)中进行所需的任何编辑。
Atlas Search 是否将我的整个索引存储在内存中?
不支持,Atlas Search 会将内存用于 JVM 堆指标,该指标存储了搜索索引的自动完成和文本标记。与其他数据库引擎类似,Atlas Search 将大部分索引文件存储在磁盘上,这得益于基础操作系统页面缓存。
为什么我的搜索索引消失了?
验证您输入的数据库和集合名称是否正确。如果您输入的数据库或集合名称不存在,Atlas 用户界面将临时构建索引并在不久后将其删除。
如果您使用
$out
聚合阶段覆盖您的集合,则必须删除并重新创建Atlas Search索引,因为Atlas Search索引不会复制到目标集合。 要了解更多信息,请参阅$out 索引约束。如果您对使用 Atlas Search 的集合重新分片,该操作将删除现有的搜索索引。在分片操作完成后,您必须手动重建集合的搜索索引。
我是否可以通过云备份快照恢复 Atlas Search 索引?
对于M10+
运行 MongoDB 的专用集群4 。 2或更高版本,Atlas 将从云备份快照恢复 Atlas Search索引定义。 Atlas 不会恢复索引数据,因此mongot
进程会对所有恢复的索引定义执行初始同步。如果在集群上定义了大型搜索索引,则在快照恢复期间可能会遇到延迟。
Atlas Search 能否与 CSFLE 加密客户端一起使用?
是的,您可以使用CSFLE加密客户端对 MongoDB 6.0及更高版本中的数据运行 Atlas Search 查询。
是否可以查询 CSFLE 加密数据?
否,您无法使用 Atlas Search 查询 CSFLE 加密的数据。
我是否可以将 Queryable Encryption 与 Atlas Search 一起使用?
否,Queryable Encryption 与 Atlas Search 不兼容。
我是否可以对时间序列集合使用 Atlas Search?
否,您无法对时间序列集合使用 Atlas Search。
我可以请求新功能吗?
是的,用户可以请求新功能,也可以使用MongoDB 反馈引擎对现有请求进行投票。
MongoDB 支持部门可以访问我的搜索基础架构和日志吗?
是的,MongoDB 支持部门可以在专用节点和托管节点上访问您的 Atlas Search 基础架构,并从这些节点下载mongot
日志。但是,您可以在组织级别阻止 MongoDB 支持人员的访问权限,然后根据需要授予 MongoDB 支持人员访问权限24小时。要了解更多信息,请参阅配置 MongoDB 支持访问 Atlas 后端基础架构。