Skip to main content
MongoDB Atlas 是一个完全托管的云数据库,支持 AWS、Azure 和 GCP。它原生支持向量搜索、全文搜索(BM25)和混合搜索,可基于您的 MongoDB 文档数据。
MongoDBAtlasHybridSearchRetriever 结合向量搜索和全文搜索,使用 reciprocity rank fusion(RRF)算法从 Atlas 集合返回最相关的文档。若无需向量索引,MongoDBAtlasFullTextSearchRetriever 使用 Atlas 搜索的 Lucene(BM25)分析器进行关键词检索。 所有检索器都继承自 BaseRetriever 并包含在 langchain-mongodb 包中。您可将 MongoDB Atlas 向量存储 强转为 .as_retriever()。当需要混合搜索或纯全文搜索时,建议使用专用检索器类。 本指南帮助您入门 MongoDB Atlas 检索器。所有 MongoDBAtlasHybridSearchRetriever 功能和配置的详细文档,请参考 API 参考。

整合细节

配置

您需要一个已启用 Atlas 搜索的运行中 MongoDB Atlas 集群。若无,请通过 Atlas 控制台 创建集群。 MongoDBAtlasHybridSearchRetriever 需要 target 集合上两个搜索索引:
  • 一个 向量搜索索引 用于语义召回
  • 一个 全文搜索索引 用于关键词召回
请参考下方 创建索引 或在 Atlas 控制台手动创建索引。 若需启用查询级自动追踪,请设置您的 LangSmith API 密钥:

安装

安装 langchain-mongodb。以下示例也使用了 Voyage AI 嵌入模型:

配置

设置 Atlas 连接字符串并打开集合句柄:

创建索引

在启用混合搜索前,需为集合创建向量搜索索引和全文搜索索引。匹配 dimensions 与嵌入模型(voyage-4-lite 使用 1024 维度):
更多索引选项请参考 MongoDB Atlas 向量存储 指南。

实例化

混合搜索

MongoDBAtlasHybridSearchRetriever 通过 RRF 融合向量与关键词结果。增加 vector_penalty 或 fulltext_penalty 可降低该渠道权重:

全文搜索

MongoDBAtlasFullTextSearchRetriever 执行 BM25 关键词搜索且无需向量索引:

使用

在链中调用

API 参考

所有 MongoDBAtlasHybridSearchRetriever 功能和配置的详细文档,请参考 API 参考。 全文搜索请参考 MongoDBAtlasFullTextSearchRetriever。
官方原文:src/oss/python/integrations/retrievers/mongodb_atlas.mdx · 非官方翻译,译文由 AI 生成,以英文原文为准。
Last modified on November 3, 2026