故障排除
在此页面上
本文档提供对Atlas Vector Search 问题的故障排除建议。有关 Atlas Vector Search 问题的直接帮助,可以在MongoDB Developer Community上发起讨论,或者联系支持人员。
无法在 Atlas 集群上使用 $vectorSearch
阶段
要使用$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 版本,请执行以下操作:
AtlasGoClusters在Atlas中,Go项目的 页面。
如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含所需项目的组织。
如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。
如果尚未出现,请单击侧边栏中的 Clusters(集群)。
会显示集群页面。
找到要使用$vectorSearch
的集群的信息窗格。
请查阅信息窗格底部的Version号码。
如果您的集群运行的是早于6.0.11或7.0.2的 MongoDB 版本, 您必须升级集群的 MongoDB 版本。
慢查询
有关改善查询性能的建议,请参阅改善向量搜索性能。
$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.0.11 或 7.0.2 的 MongoDB 的 Atlas 集群运行该命令。在这种情况下,您必须升级集群的 MongoDB 版本,才能为集群启用 Atlas 向量搜索。
针对
M0
免费层级集群运行该命令。 在这种情况下,只要集群运行的是兼容的 MongoDB 版本,您就可以使用 Atlas 用户界面创建 Atlas Vector Search 索引。
无法筛选给定字段
Atlas Vector Search目前仅支持筛选具有布尔值、日期、数字、objectId、字符串和 UUID 值的字段。要学习;了解更多信息,请参阅关于 filter
类型。