关于MongoDB mongot
mongot 是为 $search、$searchMeta 和 $vectorSearch 聚合阶段提供动力的 MongoDB Search 和 MongoDB 向量搜索过程。基于 Apache Lucenemongot mongod构建,作为独立进程运行,并执行以下功能:
通过变更流驱动的永久连接,从
mongod同步索引数据。在专用存储上维护搜索索引。
通过
mongod代理的服务搜索查询。客户端从不直接连接到mongot。
Atlas 为您托管 mongot。在 Community Edition 和 MongoDB Enterprise 上,您可以自行部署和运行 mongot。
在本地体验 MongoDB Search 和 MongoDB 向量搜索
要评估 MongoDB Search 和 MongoDB 向量搜索,请从 mongodb/mongodb-atlas-local Docker 映像开始。此映像在单个容器中包含 mongod 和 mongot,方便您专注于构建 MongoDB Search 和 MongoDB 向量搜索功能。
在以下情况下使用 atlas-local:
对自己的数据进行原型
$search和$vectorSearch查询。在 CI 中开发和运行集成测试。
在选择生产模型之前,请尝试 自动嵌入。
仅将 atlas-local 用于评估。该图像作为单个节点运行,缺乏高可用性,因此请勿将其用作生产部署目标。
使用以下命令开始使用:
docker pull mongodb/mongodb-atlas-local:preview docker run -p 27017:27017 mongodb/mongodb-atlas-local
有关完整步骤,请参阅 MongoDB Search 和 MongoDB 向量搜索 本地开发快速入门 和 Atlas CLI:使用 Search 部署本地 Atlas 部署。
当您准备部署到生产环境时,请返回此页面以获取生产部署路径的指导。
生产部署路径
自管理的 MongoDB Search 和 MongoDB 向量搜索部署选项因 MongoDB 版本而异。
MongoDB Enterprise
主节点部署模式使用 MongoDB Ops Manager 托管虚拟机上的 mongod。适用于 Kubernetes 操作符 的 MongoDB 控制器托管 Kubernetes 集群上的 mongot。此部署支持副本集和集群,其中包含多个 mongot 实例,并可以独立于 mongod 根据工作负载调整 mongot 的大小。
您还可以在 Kubernetes 环境外运行 MongoDB Enterprise,并将其直接连接到 Kubernetes 集群上的 mongot 实例。
如果您已经通过 Kubernetes 操作符的 MongoDB 控制器运行 MongoDB Enterprise Advanced,而不是在虚拟机上运行,则向该 Kubernetes 部署添加 MongoDBSearch 资源,以启用 MongoDB Search 和 MongoDB 向量搜索。
要了解更多信息,请参阅部署 MongoDB Search 和向量搜索。
注意
MongoDB Enterprise 不支持 mongot 的独立运行的存档或容器部署。
Community Edition
Community Edition 提供以下安装文件:
Linux tarball:直接安装
mongot二进制文件。容器映像:拉取并运行官方
mongot容器。
您可以直接将这些文件作为独立运行的实例运行,也可以使用 Kubernetes 操作符部署这些文件。示例,您可以将 mongot 添加到 Kubernetes 操作符已托管的 MongoDB Community Edition 部署中。
mongot 如何与 mongod 协作
自管理部署每个副本集运行两个 mongot 进程:

客户端应用程序仅连接到
mongod。mongod通过 gRPC 将 MongoDB Search 和 MongoDB 向量搜索聚合阶段请求路由到mongot。mongot连接到mongod以流式传输变更事件并维护索引。mongot将索引段写入专用存储。
后续步骤
目标 | Resource |
|---|---|
首次评估或构建功能 | |
在Linux或Docker上安装Community Edition | |
在 Kubernetes 上部署(Community 或企业版) | |
确认现有安装可以正常运行 | |
部署前的大小 |