Text Search x Vector Search no MongoDB: quando usar cada um

Escrito por: Isocler Teixeira, Head of Architeture

 

Nos anos 70–90, bancos relacionais e SQL viraram padrão para registrar transações onde, tabelas, linhas, colunas e “joins” garantiam integridade e a disseminação de relatórios. Esse tipo de base de dados continua sendo essencial para muitos negócios.

Mas com a Internet e os apps nos anos 2000, explodiram  conteúdos textuais e dados semi-estruturados. E para buscar por palavras dentro desses conteúdos, surgiram os motores de texto baseados em índices como o Apache Lucene, capaz de encontrar documentos contendo termos e variações com muita rapidez.

Nos últimos anos, modelos de IA (especialmente gerados por redes neurais) permitiram “entender melhor o significado” das frases e não somente por “palavras”. E isso abriu espaço para a busca vetorial  que encontra resultados semânticos, mesmo quando o usuário não usa a palavra exata.

Hoje, plataformas de dados como o MongoDB Atlas juntam o melhor dos dois mundos: busca por texto (rápida e precisa para termos exatos) e busca vetorial (intenção/semântica).

Executivos e líderes de dados têm ouvido falar nesses dois termos.  E no MongoDB Atlas, ambos convivem muito bem e, na prática, combiná-los costuma gerar melhor resultado para o usuário.

Vamos explorar esses termos,  o que cada um faz, quando escolher cada um  ou  como combiná-los.

O que é Text Search (Atlas Search)

  • Para quê: encontrar documentos que contêm palavras/expressões digitadas, com relevância baseada em estatística.
  • Como funciona: o Atlas Search é alimentado pelo Apache Lucene para “ranquear” resultados por relevância textual.
  • Pontos fortes
    • Precisão por palavra-chave: “título: Titanic” retorna exatamente o que o usuário escreveu de forma rápida.
    • Filtros estruturados fáceis (por campos, datas, categorias) dentro de um  pipeline de agregação.
    • Custo previsível: não precisa gerar um vetor (embedding) na consulta a cada busca.

Fique por dentro das últimas notícias

O que é Vector Search e para que serve:

  • Serve para: entender o significado do que o usuário está buscando (busca semântica). Isto é util quando o usuário não sabe a palavra exata.
  • Como funciona: textos (ou imagens/áudio) são convertidos em vetores (embeddings). A busca encontra os mais próximos (por similaridade) via algoritmo ANN (Approximate Nearest Neighbour) para ser rápida em situações com alta dimensionalidade.
  • Pontos fortes
    • Intenção > palavra exata: “filme de navio que afunda” pode retornar Titanic mesmo sem citar “Titanic”.
    • Robustez a sinônimos e variações (idioma português, termos técnicos, gírias).

 

Quando usar cada um

  • Use Text Search quando:
    • O usuário sabe o termo (nome do produto, ID, título).
    • Você precisa de filtros estruturados simples.
  • Use Vector Search quando:
    • A busca é descritiva : “sapato social confortável para casamento” ou com muitos sinônimos.
    • Você quer recomendar itens “parecidos” por significado (sem depender de termos idênticos).

 

O problema: nenhum dos dois vence sempre

Se você usar só Text Search, perde as buscas vagas (“calçado para noivo”) que não bate palavra por palavra.

Se usar só Vector Search, desperdiça consultas exatas (e paga para gerar embedding até para localizar temas simples como “Titanic”).

 

A solução: Hybrid Search

No MongoDB Atlas, dá para combinar os resultados de text e vector e combinar ranks com o seu operador $rankFusion. Assim, você captura o que foi escrito e o que foi pretendido .

 

Casos de uso

  • Catálogo de e-commerce
    • Busca por SKU/nome : priorize Text Search.
    • Busca por estilo/ocasião (“vestido para formatura”) : Vector Search ganha mais relevância.
    • Hybrid entrega consistência geral, reduz chance do famoso “zero results”  e melhora a conversão no portal e-commerce.
  • Base de conhecimento / suporte
    • Perguntas em linguagem natural pedem Vector; já títulos de artigos respondem bem ao Text Search. E combinar, reduz tempo de resolução.
  • RAG/IA Generativa
    • Recuperar contexto semântico (vector) + filtros lexicais por permissão, idioma, país  =  Hybrid.

 

Desempenho, custo e qualidade

Lembre-se que Vector Search exige embeddings (armazenar e gerar). Portanto evite “embedar” consultas óbvias (nomes exatos) e deixe o Text Search resolvê-las.

 

Conclusão

Fazer buscas implica em gerar  receita e eficiência, e não apenas um detalhe técnico. Empresas que combinam Text + Vector saem do  “acerto por palavra” e passam a entender a intenção do usuário. O resultado é simples: mais vendas, menos suporte,  e decisões mais rápidas, gerando valor em semanas, e não em meses.

Na iblue, ajudamos empresas a explorar o potencial do MongoDB com IA e busca híbrida, elevando a precisão e a eficiência nas decisões. Fale com nossos especialistas.