O estágio de agregação $rankFusion do MongoDB oferece suporte a $vectorSearch no pipeline de entrada. Você pode usar $rankFusion para combinar várias queries $vectorSearch contra a mesma coleção no mesmo pipeline. $rankFusion primeiro executa todos os pipelines de entrada de forma independente e, em seguida, remove duplicatas e combina os resultados dos pipelines de entrada em um conjunto final de resultados classificados. Para executar várias queries em várias coleções em um único pipeline $vectorSearch, 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.