Introdução à busca de texto completo

Funções para Manipular Dados no PostgreSQL

Brian Piccolo

Sr. Director, Digital Strategy

Tópicos

  • Busca de texto completo
  • Estendendo o PostgreSQL
  • Melhorando a busca com extensões
Funções para Manipular Dados no PostgreSQL

O operador LIKE

Coringa _: corresponde a exatamente um caractere.

Coringa %: corresponde a zero ou mais caracteres.

SELECT title
FROM film
WHERE title LIKE 'ELF%';
+----------------------+
| title                |
+----------------------+
| ELF PARTY            |
+----------------------+
Funções para Manipular Dados no PostgreSQL

O operador LIKE

SELECT title
FROM film
WHERE title LIKE '%ELF';
+----------------------+
| title                |
+----------------------+
| ENCINO ELF           |
| GHOSTBUSTERS ELF     |
+----------------------+
Funções para Manipular Dados no PostgreSQL

O operador LIKE

SELECT title
FROM film
WHERE title LIKE '%elf%';
+----------------------+
| title                |
+----------------------+
Funções para Manipular Dados no PostgreSQL

LIKE versus busca de texto completo

SELECT title, description
FROM film
WHERE to_tsvector(title) @@ to_tsquery('elf');
+----------------------+
| title                |
+----------------------+
| ELF PARTY            |
| ENCINO ELF           |
| GHOSTBUSTERS ELF     |
+----------------------+
Funções para Manipular Dados no PostgreSQL

O que é busca de texto completo?

A busca de texto completo permite consultas em linguagem natural aos textos no banco.

  • Stemização

  • Erros de ortografia

  • Ranqueamento

Funções para Manipular Dados no PostgreSQL

Sintaxe da busca de texto completo

SELECT title, description
FROM film
WHERE to_tsvector(title) @@ to_tsquery('elf');
Funções para Manipular Dados no PostgreSQL

Vamos praticar!

Funções para Manipular Dados no PostgreSQL

Preparing Video For Download...