我的文件庫

多根目錄側邊欄

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()

在 vector 限制之後計算管道結果數量。這不是整個語料庫的計數。

existsQuery().execute()

檢查是否存在 Vector 管道結果。

Driver-native post 階段 / 選項
java

stage(Bson)$vectorSearch 之後立即執行,優先於後處理過濾器/元數據/投影。driverOptions(...) 是一個逃生通道,可以使用當前/未來 Driver 選項,這些選項尚未在便利 API 中提供。

© 2026 Byeolnaerim. 版權所有。介紹隱私政策