故障排除
在此页面上
本文档提供对 Atlas Vector Search 问题进行故障排除的建议。如需有关 Atlas Vector Search 问题的直接帮助,您可以在 MongoDB 开发者社区上发起讨论,也可以联系支持人员。
$vectorSearch
无法在 Atlas 集群上使用 阶段
要使用$vectorSearch
管道阶段查询集群,集群必须运行 MongoDB 6.0.11 + 或7.0.2 +。 如果在不兼容的 MongoDB 版本上调用$vectorSearch
,则可能会看到以下错误:
OperationFailure: $vectorSearch is not allowed with the current configuration. You may need to enable the corresponding feature flag.
要检查集群的 MongoDB 版本,请执行以下操作:
在 AtlasClusters 中,转到项目的 页面。
如果尚未显示,请选择包含所需项目的组织导航栏中的Organizations菜单。
如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。
如果 Clusters(数据库部署)页面尚未出现,请单击侧边栏中的 Database(数据库)。
此时会显示“集群”页面。
找到要使用$vectorSearch
的集群的信息窗格。
请查阅信息窗格底部的Version号码。
如果您的集群运行的是早于6.0.11或7.0.2的 MongoDB 版本, 您必须升级集群的 MongoDB 版本。
慢查询
有关提高查询性能的建议,请参阅提高向量搜索性能。
$vectorSearch
未返回任何结果
如果$vectorSearch
查询未返回结果,请确保使用相同的文本嵌入模型来嵌入数据和查询。 如果嵌入查询时使用的模型与嵌入数据时使用的模型不同,则$vectorSearch
无法识别匹配项。
Error during document retrieval
使用 LangChain 进行筛选时
当您使用 LangChain 执行带预过滤的 RAG时,可能会遇到以下错误:
Error during the document retrieval or generation process: MongoServerError: PlanExecutor error during aggregation :: caused by :: Path 'field' needs to be indexed as token
如果field
上存在索引,请确保您已将此索引创建为 Atlas Vector Search 索引,而不是 Atlas Search 索引。 如果field
上不存在索引,则创建一个。 要了解有关使用 Atlas Vector Search 和 LangChain 实施RAG的更多信息,请参阅回答有关数据的问题。
Command not found
创建 Atlas Vector Search 索引时
当您尝试以编程方式创建 Atlas Vector Search 索引时,可能会遇到Command not found
错误。 出现此错误的原因有两个:
您对运行6之前的 MongoDB 版本的 Atlas 集群运行该命令。 0 。 11或7 。 0 。 2 。在这种情况下,您必须升级集群的 MongoDB 版本才能为集群启用 Atlas Vector Search。
针对
M0
免费层级集群运行该命令。 在这种情况下,只要集群运行的是兼容的 MongoDB 版本,您就可以使用 Atlas 用户界面创建 Atlas Vector Search 索引。
无法筛选给定字段
Atlas Vector Search目前仅支持对具有布尔值、数字值或string值的字段进行筛选。