Arquitetura de software · Dados · 7 min de leitura
Busca de texto: índice invertido, relevância e busca híbrida
Como mecanismos de busca encontram documentos em milissegundos: tokenização, índice invertido, ranking por relevância e a combinação com vetores.
Arraste para o lado para ver o diagrama inteiro.
O índice invertido
Em vez de procurar a palavra em cada documento, o mecanismo guarda, para cada termo, a lista de documentos (e posições) onde ele aparece — como o índice remissivo de um livro. Uma consulta vira a interseção ou união dessas listas. Antes, o analisador quebra o texto em tokens, passa para minúsculas, remove acentos e reduz palavras ao radical.
Relevância
O BM25 pontua cada documento: termos raros pesam mais, repetição ajuda com retorno decrescente, documentos longos são normalizados. Na prática somam-se outros sinais — popularidade, recência, cliques — e um reordenamento final por modelo.
Na arquitetura
- O banco principal continua sendo a fonte da verdade; o índice de busca é uma cópia atualizada por eventos (consistência eventual).
- Para pouca escala, a busca de texto do PostgreSQL resolve sem outra infraestrutura.
- Busca híbrida: combinar BM25 (palavras exatas, códigos, nomes) com busca vetorial (sinônimos e significado) dá os melhores resultados — é o que sistemas de RAG fazem.
Em resumo
- Índice invertido: termo → documentos.
- Mesmo analisador na indexação e na consulta.
- BM25 + sinais de negócio para ordenar.
- Híbrida = palavras exatas + significado.