Módulo 1: Fundamentos de busca para IAAula 3 de 118 minResumo aberto · Vídeo com cadastro grátis

Busca full-text e BM25 na prática com SurrealDB

Por Mauro Mequelussi · Curso gratuito SurrealDB para engenheiros de IA: RAG e agentes · Português (PT-BR)

Resposta direta · O que esta aula resolve

A Aula 3 de 11 ("Busca full-text e BM25 na prática com SurrealDB"), parte do módulo "Fundamentos de busca para IA" do curso gratuito "SurrealDB para engenheiros de IA: RAG e agentes" na Escola de Aplicativos (ministrado por Mauro Mequelussi), ensina na prática: exploramos a busca full-text com BM25 no SurrealDB para resolver cenários onde buscas semânticas falham, como códigos, nomes próprios e IDs. Configuramos analisadores com stemming, definimos índices textuais e inspecionamos os scores de relevância. Por fim, identificamos o ponto cego da busca puramente léxica e como ela prepara o terreno para a busca híbrida.

Aula gratuita · Cadastro rápido

Crie sua conta grátis para assistir a esta videoaula em HD

O resumo técnico e os capítulos abaixo são abertos para consulta. Crie sua conta 100% gratuita em segundos para liberar todas as 11 videoaulas em HD, controle automático de progresso, Tutor IA e certificado gratuito verificável.

  • R$ 0 · Sem cartão de crédito
  • Tutor IA tira-dúvidas da aula
  • Certificado gratuito incluso

O que você vai aprender

  • Como o BM25 calcula relevância com base em frequência, raridade e tamanho do documento
  • Criação e teste de analisadores com tokenização, remoção de acentos e stemming
  • Configuração de índices full-text e opções de destaque com HIGHLIGHTS
  • Execução de consultas com o operador @@ e leitura de notas com search::score
  • Identificação prática dos pontos cegos da busca puramente textual frente à semântica

Pontos-chave da aula

  • Modelos de embedding falham em números e termos sem semântica intrínseca, onde o índice invertido brilha
  • O algoritmo BM25 penaliza termos onipresentes automaticamente, tornando listas de stop words raramente necessárias
  • O stemming aproxima palavras pela raiz morfológica, mas depende de regras fixas que exigem atenção
  • Nenhum ajuste nos hiperparâmetros do BM25 cria relações semânticas inexistentes no texto

Capítulos e roteiro técnico da aula

7 capítulos minutados
  1. 00:00

    O enigma da busca por loop temporal

    Um exemplo prático mostra por que uma busca por palavra devolve resultados inesperados e omite itens óbvios.

  2. 00:26

    Limitações de vetores e a relevância da palavra exata

    Entenda por que identificadores e códigos falham na busca vetorial e como o BM25 resolve buscas exatas.

  3. 00:54

    Fundamentos da busca full-text e como funciona o BM25

    Diferenças entre o operador LIKE e índices invertidos, além dos três critérios de pontuação do BM25: frequência, raridade e tamanho.

  4. 02:10

    Configuração de analisadores, tokenização e índices

    Passo a passo no SurrealDB para criar analisadores com stemming, testar com search::analyze e definir índices full-text.

  5. 04:44

    Execução de consultas, pontuação e destaques

    Como usar o operador @@, calcular search::score, aplicar pesos em múltiplos campos e extrair destaques.

  6. 06:36

    O ponto cego da correspondência puramente textual

    Demonstração prática de como a ausência de termos literais oculta resultados relevantes e por que ajustes numéricos não corrigem isso.

  7. 07:27

    Por que busca textual e busca semântica se complementam

    Comparação final entre os dois paradigmas e introdução à busca híbrida para cobrir intenção e dados exatos.

Momentos de destaque na prática

01:18

Por que o LIKE falha e como o BM25 calcula relevância

Aprenda por que o operador LIKE não substitui busca full-text e como o BM25 calcula relevância.

04:44

Consultas práticas com operadores e score BM25 no SurrealDB

Veja como rodar consultas full-text com notas BM25 e pesos por campo no SurrealDB.

06:36

O ponto cego inevitável da busca por palavras exatas

Descubra o motivo exato pelo qual o BM25 ignora sinônimos e como contornar esse gargalo.

Notas de aula e guia de estudo

A busca puramente semântica com embeddings tem dificuldades quando a consulta envolve identificadores exatos, números de protocolo ou nomes próprios. Nesta aula, você verá como configurar busca full-text no SurrealDB usando o algoritmo BM25 para obter correspondências precisas e ordenadas por relevância estatística.

O que você vai aprender

  • Como o BM25 calcula relevância com base em frequência, raridade e tamanho do documento
  • Criação e teste de analisadores com tokenização, remoção de acentos e stemming
  • Configuração de índices full-text e opções de destaque com HIGHLIGHTS
  • Execução de consultas com o operador @@ e leitura de notas com search::score
  • Identificação prática dos pontos cegos da busca puramente textual frente à semântica

Pontos-chave

  • Modelos de embedding falham em números e termos sem semântica intrínseca, onde o índice invertido brilha
  • O algoritmo BM25 penaliza termos onipresentes automaticamente, tornando listas de stop words raramente necessárias
  • O stemming aproxima palavras pela raiz morfológica, mas depende de regras fixas que exigem atenção
  • Nenhum ajuste nos hiperparâmetros do BM25 cria relações semânticas inexistentes no texto

Conceitos e ferramentas abordados nesta aula

Busca full-textAlgoritmo BM25Analisadores de texto e stemmingSurrealQLÍndices invertidosBusca híbridaSurrealDBBM25PostgreSQLSupabase

Perguntas frequentes sobre esta aula

Nesta aula do módulo "Fundamentos de busca para IA" na Escola de Aplicativos, você aprende de forma prática: Como o BM25 calcula relevância com base em frequência, raridade e tamanho do documento; Criação e teste de analisadores com tokenização, remoção de acentos e stemming; Configuração de índices full-text e opções de destaque com HIGHLIGHTS; Execução de consultas com o operador @@ e leitura de notas com search::score.