La etapa de agregación de MongoDB $rankFusion admite $vectorSearch dentro del pipeline de entrada. Puedes usar $rankFusion para combinar varias consultas $vectorSearch sobre la misma colección en el mismo pipeline. $rankFusion primero ejecuta todos los pipelines de entrada de forma independiente y luego desduplica y combina los resultados de los pipelines de entrada en un conjunto final de resultados clasificados. Para ejecutar varias consultas $vectorSearch en varias colecciones en un solo pipeline, utiliza $unionWith.
Casos de uso y beneficios
Puedes ejecutar los siguientes tipos de $vectorSearch queries mediante el pipeline $rankFusion:
Ejecuta múltiples consultas de
$vectorSearchpara términos similares en el mismo campo.Esto te permite realizar una búsqueda exhaustiva en tu conjunto de datos de términos similares en la misma query.
Ejecutar varias consultas de
$vectorSearchpara el mismo término en varios campos.Esto le permite buscar en múltiples campos de su conjunto de datos para determinar qué campos devuelven los mejores resultados para la query.
Ejecutar varias
$vectorSearchquery para el mismo término en las incrustaciones de diferentes modelos de incrustación.Esto permite buscar embeddings de diferentes modelos para determinar las diferencias de interpretación semántica entre los diferentes modelos.
Acerca del Tutorial
Este tutorial muestra cómo ejecutar diferentes $vectorSearch queries contra las colecciones de la base de datos sample_mflix. Puede utilizar las incrustaciones de vectores de la colección embedded_movies para probar las queries de muestra o utilizar Automated incrustación para generar incrustaciones para los datos de muestra.
Requisitos previos
Antes de comenzar, asegúrese de que su clúster cumpla con los requisitos descritos en los prerrequisitos. Además, debe tener instalado lo siguiente:
Cree el índice de búsqueda vectorial de MongoDB
En esta sección, se crea el índice de búsqueda vectorial de MongoDB en el namespace sample_mflix.embedded_movies. La sección muestra las definiciones de índice que se pueden usar para ejecutar varias query.
ejecutar las queries de MongoDB Vector Search
Reordenar los resultados
En esta sección, reordenas los resultados de la query mediante la etapa $rerank.