Búsqueda Vectorial
Describe la consulta de embedding manual/automática de Vector Search, ANN/ENN, filtros previos/posteriores, opciones de vector anidado de Driver 5.10 y rutas de extensión Bson.
Búsqueda de Vector básica.
La búsqueda de vector requiere un nombre de índice explícito y $vectorSearch se convierte en la primera etapa de agregación.
Vector de consulta / Embedding automático.
queryVector(float[]/double[]/Collection<Double>)
Se pasa el vector generado por la aplicación.
queryVector(BinaryVector).
Utiliza directamente la representación de vector binario compacto del controlador de MongoDB.
query(String).
Se pasa el texto de consulta en sí al índice de embedding automático de MongoDB.
query(VectorSearchQuery).
Es una salida de escape compatible con el futuro que permite pasar directamente el tipo de consulta nativa del controlador.
El núcleo de DSL no incluye la capacidad de llamar a proveedores de embedding externos para generar vectores. Los vectores manuales se generan en la aplicación llamadora y se pasan a queryVector(...).
ANN / ENN.
ANN.
Se utiliza approximate(numCandidates) o numCandidates(...). En ANN, se necesita el conteo de candidatos.
ENN.
Se utiliza exact() o exact(true). Al activar exact, se elimina el valor existente de numCandidates.
Filtro previo / filtro posterior.
filter()/filterFields().
Es un filtro previo que afecta la selección de candidatos en $vectorSearch.filter.
fields(...).
Es un filtro posterior general $match detrás de $vectorSearch.
Embedding anidado / de matriz (Driver 5.10).
filter / filterFields.
Es el filtro del documento hoja de embedding anidado.
parentFilter / parentFilterFields.
Este es el parentFilter del Driver 5.10 que se aplica al documento raíz.
nestedScoreMode
Combina múltiples puntuaciones de embedding coincidentes de un documento usando AVG o MAX.
Puntuación / proyección / terminal
findAll / find
Devuelve el resultado del vector como Flux/Mono.
count().execute()
Cuenta el número de resultados del pipeline después del límite de vectores. No es el conteo total del corpus.
existsQuery().execute()
Verifica si existen resultados en el pipeline de vectores.
Etapa nativa del Driver / opciones
stage(Bson) se ejecuta justo después de $vectorSearch, antes de post-filter/metadata/projection. driverOptions(...) es un escape hatch que permite usar opciones del Driver actuales/futuras que aún no están en la API de conveniencia.