You need to enable JavaScript to run this app.
文档中心
文档数据库 MongoDB 版

文档数据库 MongoDB 版

复制全文
下载 pdf
向量索引
概述
复制全文
下载 pdf
概述
本文介绍文档数据库 MongoDB 版的向量搜索功能。​
说明​
当前向量搜索功能正处于邀测阶段,如需使用,请提交工单联系技术申请使用。​
功能介绍 ​
向量搜索是一种基于数据语义或内在含义返回检索结果的搜索方法。与传统的全文搜索(即通过查找文本匹配来实现)不同,向量搜索会在多维空间中寻找与搜索查询相近的向量。向量与查询之间的距离越近,其含义就越相似。通过解析搜索查询和数据的含义,向量搜索能够考虑搜索者的意图和搜索语境,从而检索出更具相关性的结果。更多详情,请参见 Vector Search。​
文档数据库 MongoDB 提供了 Vector Search 能力,您可以将 Vector Search 与其他嵌入模型和生成模型结合使用,满足您在应用程序中实现向量搜索、检索增强生成(RAG)和 AI Agent 等需求。 此外,文档数据库 MongoDB 版还提供 Auto Embedding 能力,结合方舟的 Embedding 模型,让您无需在应用中维护向量生成流程。​
常见向量搜索场景​
文档数据库 MongoDB 版的 Vector Search 常用于如下向量搜索场景。​
  • 语义检索​
  • 使用 ANN 或 KNN 搜索算法,根据语义相似性查询向量嵌入。 更多详情,请参见向量搜索查询。​
  • 生成式检索​
  • 将 MongoDB 作为向量数据库,使用 MongoDB Vector Search 为自然语言处理 (NLP)、机器学习 (ML) 和生成式 AI 应用程序提供检索数据支持。更多详情,请参见使用 MongoDB 进行检索增强生成 (RAG)。​
基本使用流程​
使用向量搜索功能前,您需要先确定向量的生成方式:​
  • 自动:在创建索引时指定要向量化的文本字段和模型,MongoDB 自动完成向量的生成、存储与更新,查询时自动为查询文本生成向量。您无需编写向量生成代码,也无需维护向量与源数据的同步。具体操作步骤,请参见创建 Auto Embedding 向量索引。​
  • 手动:自行调用嵌入模型生成向量,与原始数据一同写入,查询时自行生成查询向量。​
下文以手动方式为例,介绍具体操作步骤。​
  1. 准备与生成向量​
  • 使用合适的嵌入模型(如火山引擎方舟平台提供的模型)将原始数据(如文本、图像)转换为向量(即浮点数数组)。您需要通过编写独立的程序或脚本,调用所选模型的网络接口或加载本地模型来生成这些向量数据。目前暂不支持内置的向量生成功能。​
说明​
关于使用不同模型和编程语言生成向量的具体代码实现(如 Python 示例),请参见如何手动创建向量嵌入。该指南提供了从加载数据、调用模型到存储向量的完整脚本示例。​
  1. 存储数据与向量​
  • 将原始数据和已生成的向量字段一同写入集合。向量字段以数组类型(如 [0.1, 0.2, ...])存储。​
  1. 创建向量索引​
  • 为获得高效的检索性能,需在向量字段上创建vector类型索引。创建时,可重点关注以下参数:​
  • type:固定设置为"vector",表示此为向量搜索索引。​
  • dimensions:向量维度,必须与您的嵌入模型输出的向量维度完全一致,否则索引创建将失败。​
  • similarity:向量相似度计算方式,可选cosine(余弦相似度)、euclidean(欧氏距离)或dotProduct(点积)。​
  • quantization:向量量化类型,用于压缩向量以降低存储和内存开销,可选值如下:​
  • "none"(默认):不量化,使用 32 位浮点数全精度向量。​
  • "scalar":标量量化,将向量从浮点数转换为整数(int8),存储和内存开销约为全精度的 1/4。​
  • "binary":二值量化,将向量转换为 1 位(0 或 1)表示。此方式可大幅降低内存开销。​
说明​
关于索引的创建流程和配置项说明,请参见创建索引。​
  1. 执行向量搜索​
  • 使用$vectorSearch聚合阶段进行向量相似性查询。您需要指定查询向量(queryVector)、目标索引(index)和返回结果数(limit)等核心参数。此外,还支持通过filter参数进行预过滤,或通过调整numCandidates参数来平衡查询延迟与召回率。​
说明​
关于$vectorSearch的完整语法、所有参数说明、预过滤详情及性能调优建议,请参见运行向量搜索查询。​
最近更新时间:2026.10.13 19:43:53
这个页面对您有帮助吗?
有用
有用
无用
无用