← Back to home

Tipos de Busca

By Pscodium · 8/4/2026 · 3 views

Tipos de Busca — Lexical, Semântica e Híbrida

Quando pensamos em um sistema de busca, normalmente imaginamos algo simples:

Usuário digita uma pesquisa
        ↓
Sistema procura resultados
        ↓
Resultados são exibidos

Porém, existem diferentes maneiras de interpretar uma consulta e encontrar resultados.

Considere uma busca:

"como configurar banco de dados postgres"

Um sistema pode procurar documentos que contenham exatamente essas palavras.

Outro pode entender que o usuário está procurando informações sobre:

PostgreSQL
Configuração
Banco de dados

Mesmo que o documento não contenha exatamente as mesmas palavras.

Essas abordagens representam diferentes estratégias de busca.

As três mais importantes atualmente são:

Busca
│
├── Lexical
│
├── Semântica
│
└── Híbrida

Cada uma possui vantagens, desvantagens e casos de uso diferentes.


1. Busca Lexical

A busca lexical procura correspondências entre os termos utilizados pelo usuário e os termos presentes nos documentos.

Em outras palavras:

A busca lexical se preocupa principalmente com as palavras que aparecem no texto.

Imagine que temos:

Documento A

Como configurar um banco PostgreSQL utilizando Docker.

E o usuário pesquisa:

PostgreSQL Docker

A busca lexical identifica que os termos:

PostgreSQL
Docker

aparecem diretamente no documento.

Portanto, ele provavelmente terá uma boa pontuação.


2. Como funciona a busca lexical?

Um dos algoritmos mais conhecidos para busca lexical é o:

BM25

Ele é amplamente utilizado em mecanismos de busca e sistemas como Elasticsearch e OpenSearch.

A ideia geral é calcular o quanto um documento é relevante para uma consulta.

Por exemplo:

Query:

"PostgreSQL Docker"

Temos:

Documento A

Como configurar PostgreSQL utilizando Docker.
Documento B

Como criar uma API REST utilizando Node.js.

O Documento A provavelmente terá uma pontuação maior porque contém os termos pesquisados.

Podemos imaginar:

Documento A
PostgreSQL + Docker
Score: 8.7

Documento B
Node.js + API
Score: 0.2

O mecanismo retorna:

1. Documento A
2. Documento B

3. Term Frequency

Uma ideia importante em mecanismos de busca lexical é a frequência dos termos.

Imagine:

Documento A

PostgreSQL é um banco de dados.
PostgreSQL pode ser executado com Docker.
PostgreSQL possui suporte a extensões.

A palavra:

PostgreSQL

aparece várias vezes.

Isso pode aumentar a relevância do documento para uma pesquisa relacionada a PostgreSQL.

Porém, simplesmente contar palavras não é suficiente.

Imagine:

Documento B

PostgreSQL PostgreSQL PostgreSQL PostgreSQL

Mesmo tendo muitas ocorrências, isso não significa necessariamente que seja um bom resultado.

Por isso, algoritmos como BM25 consideram outros fatores.


4. TF-IDF

Outro conceito importante é o:

TF-IDF

Que significa:

Term Frequency
Inverse Document Frequency

A ideia é medir:

Quanto um termo é importante neste documento?

Imagine um conjunto de documentos:

Documento 1
PostgreSQL Docker

Documento 2
PostgreSQL Node.js

Documento 3
PostgreSQL Redis

A palavra:

PostgreSQL

aparece em todos os documentos.

Portanto, ela é menos útil para diferenciar os resultados.

Já:

Docker

aparece apenas em um documento.

Então, para uma pesquisa relacionada a Docker, esse termo pode ser mais informativo.


5. Vantagens da busca lexical

A busca lexical possui várias vantagens.

1. É rápida

Motores de busca podem criar índices extremamente eficientes.

Por exemplo:

PostgreSQL
    ↓
Documento 1
Documento 5
Documento 17
Documento 83

Em vez de analisar todos os documentos, o mecanismo consulta o índice.


2. É previsível

Se o documento contém:

Docker

e o usuário procura:

Docker

existe uma relação clara entre consulta e resultado.


3. É excelente para termos específicos

Por exemplo:

"RTX 5090"
"iPhone 17 Pro"
"PostgreSQL 18"
"ERROR_CONNECTION_REFUSED"

Nesses casos, encontrar exatamente o termo pode ser mais importante do que entender o significado.


6. Desvantagens da busca lexical

O principal problema é que ela pode ter dificuldade com:

Sinônimos e significado.

Imagine:

Usuário:

"como consertar meu computador"

Documento:

Como solucionar problemas no seu PC.

Um mecanismo puramente lexical pode não considerar esse documento tão relevante porque:

consertar ≠ solucionar

computador ≠ PC

Embora uma pessoa entenda que os conceitos são muito semelhantes.

Outro exemplo:

Busca:

"carro econômico"

Documento:

Veículo com baixo consumo de combustível.

As palavras são diferentes.

Mas semanticamente:

carro
≈
veículo

e:

econômico
≈
baixo consumo

A busca lexical pode não perceber isso tão bem.


7. Busca Semântica

A busca semântica tenta entender o significado da consulta e dos documentos.

Em vez de perguntar:

"Quais documentos possuem estas palavras?"

ela tenta responder:

"Quais documentos possuem significado semelhante ao que o usuário está procurando?"

Normalmente, isso é feito utilizando:

Embeddings

Um embedding transforma um texto em um vetor numérico.

Por exemplo:

"Como configurar PostgreSQL"

pode ser transformado em algo conceitualmente parecido com:

[0.12, -0.43, 0.87, 0.21, ...]

O documento:

"Guia para instalar e configurar um banco PostgreSQL"

também é transformado em um vetor.

O sistema então compara os vetores.

Se os vetores forem próximos:

Query
   ↓
[0.12, -0.43, 0.87, ...]


Documento
   ↓
[0.10, -0.40, 0.85, ...]

o sistema considera que existe uma forte similaridade semântica.


8. Similaridade Semântica

Imagine:

Query:

"como deixar meu PC mais rápido"

Documento:

"10 maneiras de melhorar o desempenho do seu computador"

As palavras não são exatamente iguais.

Mas o significado é muito próximo.

A busca semântica consegue capturar essa relação:

PC
≈
computador

mais rápido
≈
melhorar desempenho

Portanto:

Query
        ↓
Embedding
        ↓
Busca por vetores semelhantes
        ↓
Documentos semanticamente relevantes

9. Busca Vetorial

A busca semântica normalmente utiliza um:

Vector Database

ou um mecanismo capaz de realizar busca vetorial.

Alguns exemplos incluem:

  • Pinecone
  • Weaviate
  • Qdrant
  • Milvus
  • pgvector
  • Elasticsearch
  • OpenSearch

O fluxo pode ser:

Documento
    ↓
Embedding Model
    ↓
Vetor
    ↓
Vector Database

Quando o usuário pesquisa:

"como melhorar o desempenho do meu computador"

temos:

Query
    ↓
Embedding Model
    ↓
Query Vector
    ↓
Busca por vetores próximos
    ↓
Resultados

10. Similaridade por Cosseno

Uma das técnicas utilizadas para comparar embeddings é a:

Cosine Similarity

A ideia é medir o quanto dois vetores apontam para direções semelhantes.

Podemos imaginar:

          Documento
             ↗
            /
           /
          /
         /
        ↗
     Query

Quanto mais semelhantes forem as direções:

Maior similaridade

Em termos simplificados:

1.0
↓
Muito semelhante

0.0
↓
Pouco relacionado

-1.0
↓
Direções opostas

Na prática, o comportamento depende do modelo e da normalização utilizada.


11. Vantagens da busca semântica

A principal vantagem é entender conceitos.

Por exemplo:

Query:

"notebook para jogos"

Pode encontrar:

Laptop gamer

Mesmo que o documento não utilize a palavra:

notebook

Outro exemplo:

Query:

"problema de conexão com banco"

Pode encontrar:

Erro ao conectar ao PostgreSQL

Mesmo com palavras diferentes.

A busca semântica é especialmente útil para:

  • Sistemas de recomendação
  • Busca em documentos
  • Chatbots
  • RAG
  • Bases de conhecimento
  • Pesquisa de produtos
  • Busca de artigos
  • Pesquisa por intenção

12. Desvantagens da busca semântica

Apesar de poderosa, a busca semântica não substitui completamente a lexical.

Imagine:

Query:

"RTX 5090"

Você provavelmente quer resultados que mencionem exatamente:

RTX 5090

Um resultado sobre:

RTX 4090

pode ser semanticamente parecido.

Mas talvez seja completamente irrelevante para a pesquisa.

Da mesma forma:

iPhone 17

e:

iPhone 16

são semanticamente muito semelhantes.

Mas possuem significados diferentes para uma busca específica.

A busca semântica pode ter dificuldade com:

  • Números
  • Códigos
  • IDs
  • SKUs
  • Nomes específicos
  • Termos técnicos
  • Erros de sistema
  • Versões

Por isso, utilizar apenas busca semântica pode gerar resultados aparentemente relevantes, mas incorretos.


13. Busca Híbrida

A busca híbrida combina:

Busca Lexical
+
Busca Semântica

A ideia é utilizar o melhor dos dois mundos.

Por exemplo:

Usuário
   ↓
"como configurar postgres no docker"
   │
   ├───────────────┐
   ↓               ↓
Busca Lexical   Busca Semântica
   ↓               ↓
BM25            Vector Search
   ↓               ↓
Resultados      Resultados
   └───────┬───────┘
           ↓
      Combinação
           ↓
    Ranking Final

Isso permite encontrar:

Correspondência exata

e também:

Correspondência por significado

14. Exemplo de busca híbrida

Imagine que temos estes documentos:

Documento A

Como configurar PostgreSQL no Docker.
Documento B

Guia para executar bancos de dados em containers.
Documento C

Como instalar PostgreSQL no Windows.

O usuário pesquisa:

"Postgres Docker"

A busca lexical provavelmente favorece:

Documento A

porque contém:

PostgreSQL
Docker

A busca semântica pode considerar:

Documento A
Documento B

porque:

Docker
≈
containers

A busca híbrida pode combinar essas informações.

Resultado:

1. Documento A
2. Documento B
3. Documento C

Assim, conseguimos:

Precisão lexical
+
Compreensão semântica

15. Como combinar os resultados?

Existem diferentes estratégias.

Uma abordagem simples seria:

Score Final =
Score Lexical
+
Score Semântico

Por exemplo:

Documento A

Lexical Score: 0.90
Semantic Score: 0.85

Final: 1.75

Outro documento:

Documento B

Lexical Score: 0.40
Semantic Score: 0.95

Final: 1.35

O Documento A aparece primeiro.

Na prática, os scores geralmente precisam ser normalizados, porque os mecanismos podem produzir valores em escalas diferentes.


16. Reciprocal Rank Fusion

Uma técnica bastante utilizada para combinar rankings é:

RRF — Reciprocal Rank Fusion

Imagine que temos dois rankings.

Busca lexical:

1. Documento A
2. Documento C
3. Documento B

Busca semântica:

1. Documento B
2. Documento A
3. Documento D

O RRF combina as posições.

Um documento que aparece bem colocado em ambas as listas tende a subir no ranking final.

Resultado:

1. Documento A
2. Documento B
3. Documento C
4. Documento D

A grande vantagem é que podemos combinar rankings sem depender diretamente de os scores originais terem a mesma escala.


17. Um sistema moderno de busca

Um sistema mais completo pode ter várias etapas:

Usuário
   ↓
Query
   ↓
┌─────────────────────┐
│ Query Processing    │
└─────────────────────┘
   ↓
   ├───────────────┐
   ↓               ↓
Lexical         Semantic
   ↓               ↓
BM25            Embeddings
   ↓               ↓
Top K           Top K
   └───────┬───────┘
           ↓
     Hybrid Ranking
           ↓
        Reranker
           ↓
      Resultados

Em sistemas mais sofisticados, ainda podemos adicionar um:

Reranker

Ele recebe os resultados candidatos e tenta identificar quais são realmente mais relevantes.

Por exemplo:

Busca inicial

1000 documentos
      ↓
Lexical + Semantic
      ↓
100 documentos
      ↓
Reranker
      ↓
10 documentos
      ↓
Usuário

Isso permite fazer uma busca inicial rápida e depois uma avaliação mais precisa dos melhores candidatos.


18. RAG e busca híbrida

Um dos casos mais interessantes atualmente é o uso de busca híbrida em sistemas de:

RAG — Retrieval-Augmented Generation

Imagine uma empresa com:

Documentação
Manuais
PDFs
Tickets
Artigos
Código

Um usuário pergunta:

"Como faço para configurar a autenticação OAuth?"

O sistema pode executar:

Pergunta
   ↓
Busca Lexical
   +
Busca Semântica
   ↓
Documentos relevantes
   ↓
LLM
   ↓
Resposta

A busca lexical pode encontrar documentos que mencionam exatamente:

OAuth

A busca semântica pode encontrar:

Autenticação
Login
Authorization
Identity Provider

A combinação aumenta as chances de encontrar o contexto correto.


19. Quando usar busca lexical?

Prefira busca lexical quando a correspondência exata é importante.

Exemplos:

Códigos de erro
IDs
SKUs
Número de produto
Versões
Nomes específicos

Por exemplo:

"ERR_CONNECTION_REFUSED"

ou:

"RTX 5090"

Nesse cenário, encontrar exatamente o termo pode ser mais importante do que encontrar algo semanticamente parecido.


20. Quando usar busca semântica?

Prefira busca semântica quando o usuário pode expressar a mesma intenção de várias maneiras.

Exemplos:

"Como deixar meu computador mais rápido?"
"Como melhorar a performance do meu PC?"
"Meu computador está lento, o que fazer?"

Essas frases são diferentes lexicalmente.

Mas possuem uma intenção semelhante.

A busca semântica é excelente para capturar esse tipo de relação.


21. Quando usar busca híbrida?

Na maioria dos sistemas de busca modernos, a busca híbrida é uma excelente opção.

Ela é especialmente interessante quando temos:

Termos específicos
+
Linguagem natural

Por exemplo:

"Como resolver o erro P1001 ao conectar no PostgreSQL?"

Temos:

P1001
PostgreSQL

que são termos específicos.

Mas também temos:

Como resolver
ao conectar

que representam uma intenção.

A busca híbrida consegue considerar ambos.


22. Comparação

CaracterísticaLexicalSemânticaHíbridaCorrespondência exataExcelenteFracaExcelenteEntendimento de contextoLimitadoExcelenteExcelenteSinônimosLimitadoExcelenteExcelenteIDs e códigosExcelentePode falharExcelenteTermos técnicosExcelentePode confundirExcelenteLinguagem naturalLimitadoExcelenteExcelenteImplementaçãoMais simplesMais complexaMais complexaCusto computacionalMenorMaiorMaiorRAGÚtilMuito útilExcelente


23. Um exemplo real

Imagine um e-commerce.

O usuário pesquisa:

"celular samsung barato com boa câmera"

Uma busca lexical pode procurar:

Samsung
celular
câmera

Uma busca semântica pode entender:

Samsung
smartphone
baixo preço
boa qualidade fotográfica

Uma busca híbrida pode combinar:

Termos exatos
+
Intenção do usuário

E ainda utilizar filtros estruturados:

Marca: Samsung

Preço: < R$ 2.000

Categoria: Smartphone

O sistema completo poderia ser:

Query
   ↓
Entendimento da consulta
   ↓
Filtros estruturados
   ↓
Busca Lexical
   +
Busca Semântica
   ↓
Combinação dos resultados
   ↓
Ranking
   ↓
Reranking
   ↓
Produtos

Isso é muito mais poderoso do que simplesmente procurar palavras no banco.


24. Busca não é apenas "procurar texto"

Um dos principais conceitos para entender sistemas modernos de busca é que:

Busca é um problema de recuperação e ranking de informação.

O objetivo não é apenas encontrar documentos.

É encontrar os:

documentos mais relevantes

e colocá-los na:

ordem correta

Por isso, um sistema de busca moderno pode envolver:

Query Processing
       ↓
Indexação
       ↓
Busca Lexical
       ↓
Busca Semântica
       ↓
Busca Híbrida
       ↓
Ranking
       ↓
Reranking
       ↓
Resultados

25. A evolução dos sistemas de busca

Podemos visualizar uma evolução:

Busca por texto
      ↓
Busca Lexical
      ↓
TF-IDF
      ↓
BM25
      ↓
Busca Semântica
      ↓
Vector Search
      ↓
Busca Híbrida
      ↓
Reranking
      ↓
Sistemas de busca com IA

Isso não significa que uma técnica substituiu completamente a outra.

Na prática, sistemas modernos combinam várias técnicas.

Um mecanismo pode usar:

BM25
+
Vector Search
+
Filtros
+
Reranking
+
Personalização

Cada camada resolve um problema diferente.


Conclusão

Existem três conceitos fundamentais para entender sistemas modernos de busca.

A busca lexical procura correspondências entre as palavras da consulta e dos documentos.

"PostgreSQL Docker"
        ↓
Procura termos relacionados

A busca semântica tenta entender o significado.

"computador lento"
        ↓
"como melhorar o desempenho do PC"

E a busca híbrida combina as duas abordagens:

Lexical
   +
Semântica
   ↓
Busca Híbrida

A escolha depende do problema.

Se você precisa encontrar:

IDs
Códigos
SKUs
Versões
Termos exatos

a busca lexical provavelmente será mais adequada.

Se precisa entender:

Intenção
Contexto
Sinônimos
Linguagem natural

a busca semântica pode ser melhor.

Mas quando o sistema precisa lidar com linguagem natural e termos específicos ao mesmo tempo, a busca híbrida geralmente oferece o melhor equilíbrio.

O ponto mais importante é entender que um sistema moderno de busca não é simplesmente:

"Procure essa palavra no banco."

Ele é, na realidade, um sistema de recuperação, relevância e ranking de informação.

A melhor busca não é aquela que encontra mais resultados. É aquela que coloca o resultado mais relevante no topo.



Comments

No comments yet.