O estágio de agregação $rankFusion do MongoDB suporta $vectorSearch dentro do pipeline de entrada. Você pode usar $rankFusion para combinar várias queries $vectorSearch na mesma coleção no mesmo pipeline. $rankFusion primeiro executa todos os pipelines de entrada de forma independente e, em seguida, deduplica e combina os resultados do pipeline de entrada em um conjunto final de resultados classificados. Para executar várias $vectorSearch queries em várias collections em um único pipeline, use $unionWith.
Casos de uso e benefícios
Você pode executar os seguintes tipos de query $vectorSearch usando o pipeline $rankFusion:
Execute várias queries
$vectorSearchpara termos semelhantes no mesmo campo.Isso permite realizar uma pesquisa abrangente no seu conjunto de dados para termos semelhantes na mesma query.
Execute várias queries
$vectorSearchpara o mesmo termo em vários campos.Isso permite pesquisar vários campos do seu conjunto de dados para determinar quais retornam os melhores resultados para a query.
Execute várias queries
$vectorSearchpara o mesmo termo em incorporações de diferentes modelos de incorporação.Isso permite pesquisar incorporações de diferentes modelos de incorporação para determinar as diferenças de interpretação semântica entre os diferentes modelos.
Sobre o tutorial
Este tutorial demonstra como executar diferentes queries $vectorSearch nas coleções no banco de dados sample_mflix. Você pode usar os embedding de vetor na coleção embedded_movies para testar as query de amostra ou usar o Automated Embedding para gerar embedding para os dados de amostra.
Pré-requisitos
Antes de começar, certifique-se de que seu cluster atenda aos requisitos descritos nos pré-requisitos. Além disso, você deve ter o seguinte instalado:
Crie o índice de Vector Search do MongoDB
Nesta seção, você cria o índice de pesquisa vetorial do MongoDB no namespace sample_mflix.embedded_movies. A seção demonstra as definições de índice que podem ser utilizadas para executar várias query.
Execute as queries do MongoDB Vector Search
Reordenar os resultados
Nesta seção, você reordena os resultados da query usando o estágio $rerank.