Vektorsuche
Erklärung der manuellen/automatisierten Embedding-Abfrage, ANN/ENN, Pre/Post-Filter, Driver 5.10 verschachtelte Vektoroptionen und Bson-Erweiterungspfad für die Vektor-Suche.
Basis-Vektor-Suche
Die Vektor-Suche benötigt einen expliziten Indexnamen, und $vectorSearch wird die erste Stufe der Aggregation.
Abfragevektor / Automatisiertes Embedding
queryVector(float[]/double[]/Collection<Double>)
Überträgt den vom Anwendung erzeugten Vektor.
queryVector(BinaryVector)
Verwendet die kompakte binäre Vektor-Darstellung des MongoDB-Treibers direkt.
query(String)
Überträgt den Abfrage-Text selbst an den MongoDB automatisierten Embedding-Index.
query(VectorSearchQuery)
Zukunftskompatible Escape-Hatch, um den treiber-native Abfragetyp direkt zu übergeben.
Der DSL-Kern enthält keine Funktion, um externe Embedding-Provider aufzurufen, um Vektoren zu erzeugen. Manuelle Vektoren werden von der aufrufenden Anwendung erzeugt und an queryVector(...) übergeben.
ANN / ENN
ANN
Verwendet approximate(numCandidates) oder numCandidates(...). Bei ANN ist die Anzahl der Kandidaten erforderlich.
ENN
Verwendet exact() oder exact(true). Wenn exact aktiviert ist, wird der vorhandene numCandidates-Wert entfernt.
Pre-Filter / Post-Filter
filter()/filterFields()
Pre-Filter, der in $vectorSearch.filter eingeht und die Auswahl der Kandidaten beeinflusst.
fields(...)
Allgemeiner $match Post-Filter hinter $vectorSearch.
Verschachteltes / Array-Embedding (Driver 5.10)
filter / filterFields
Filter für das Blattdokument des verschachtelten Embeddings.
parentFilter / parentFilterFields
Der parentFilter des Treibers 5.10, der auf das Root-Dokument angewendet wird.
nestedScoreMode
Kombiniert mehrere übereinstimmende Einbettungsscores eines Dokuments mit AVG oder MAX.
Score / Projektion / Terminal
findAll / find
Gibt das Vektorresultat als Flux/Mono zurück.
count().execute()
Zählt die Anzahl der Pipeline-Ergebnisse nach dem Vektorlimit. Es ist nicht die Gesamtanzahl des Korpus.
existsQuery().execute()
Überprüft, ob Ergebnisse der Vektor-Pipeline vorhanden sind.
Treiberspezifische Post-Stage / Optionen
stage(Bson) wird direkt nach $vectorSearch ausgeführt, bevor Post-Filter/Metadaten/Projektion. driverOptions(...) ist ein Escape Hatch, um aktuelle/zukünftige Treiberoptionen zu verwenden, die noch nicht in der Convenience-API vorhanden sind.