我的文档库

多根目录侧边栏

flex-layout

  • Getting Started

  • Guides

  • Reference

typed-rx-http

  • Getting Started

  • Guides

  • Reference

global-rx-state

  • Getting Started

  • Guides

  • Reference

webflux-fe-dev-assistant

reactive-mongo-dsl

向量搜索

解释 Vector Search 的手动/自动嵌入查询、ANN/ENN、预/后过滤器、Driver 5.10 嵌套向量选项和 Bson 扩展路径。


基本向量搜索。
java

向量搜索需要显式的索引名称,$vectorSearch 是聚合的第一个阶段。

查询向量 / 自动嵌入。

queryVector(float[]/double[]/Collection<Double>)

传递应用程序生成的向量。

queryVector(BinaryVector)。

直接使用 MongoDB 驱动程序的紧凑二进制向量表示。

query(String)。

将查询文本本身传递给 MongoDB 自动嵌入索引。

query(VectorSearchQuery)。

直接传递驱动程序原生查询类型的未来兼容逃生口。

java

DSL 核心不包含调用外部嵌入提供者生成向量的功能。手动向量由调用应用程序生成并传递给 queryVector(...)

ANN / ENN。

ANN。

使用 approximate(numCandidates)numCandidates(...)。在 ANN 中需要候选计数。

ENN。

使用 exact()exact(true)。启用 exact 后,现有的 numCandidates 值将被移除。

预过滤器 / 后过滤器。
java

filter()/filterFields()。

作为进入 $vectorSearch.filter 的预过滤器,影响候选选择本身。

fields(...)。

$vectorSearch 后的常规 $match 后过滤器。

嵌套 / 数组嵌入 (Driver 5.10)。
java

filter / filterFields。

嵌套嵌入的叶文档过滤器。

parentFilter / parentFilterFields。

适用于根文档的 Driver 5.10 parentFilter

nestedScoreMode

将一个文档的多个匹配嵌入分数结合为 AVGMAX

分数 / 投影 / 终端
java

findAll / find

将 Vector 结果返回为 Flux/Mono。

count().execute()

在向量限制之后计算管道结果的数量。不是整个语料库的计数。

existsQuery().execute()

检查是否存在向量管道结果。

Driver-native 后阶段 / 选项
java

stage(Bson)$vectorSearch 之后立即执行,优先于后过滤器/元数据/投影。driverOptions(...) 是一个逃生舱,可以直接使用当前/未来 Driver 选项,尽管它们尚未在便利 API 中。

© 2026 Byeolnaerim. 保留所有权利.介绍隐私政策