Введение в полнотекстовый поиск

Функции для работы с данными в PostgreSQL

Brian Piccolo

Sr. Director, Digital Strategy

Темы

  • Полнотекстовый поиск
  • Расширение PostgreSQL
  • Улучшение поиска с помощью расширений
Функции для работы с данными в PostgreSQL

Оператор LIKE

Шаблон _: соответствует ровно одному символу.

Шаблон %: соответствует нулю или нескольким символам.

SELECT title
FROM film
WHERE title LIKE 'ELF%';
+----------------------+
| title                |
+----------------------+
| ELF PARTY            |
+----------------------+
Функции для работы с данными в PostgreSQL

Оператор LIKE

SELECT title
FROM film
WHERE title LIKE '%ELF';
+----------------------+
| title                |
+----------------------+
| ENCINO ELF           |
| GHOSTBUSTERS ELF     |
+----------------------+
Функции для работы с данными в PostgreSQL

Оператор LIKE

SELECT title
FROM film
WHERE title LIKE '%elf%';
+----------------------+
| title                |
+----------------------+
Функции для работы с данными в PostgreSQL

LIKE и полнотекстовый поиск

SELECT title, description
FROM film
WHERE to_tsvector(title) @@ to_tsquery('elf');
+----------------------+
| title                |
+----------------------+
| ELF PARTY            |
| ENCINO ELF           |
| GHOSTBUSTERS ELF     |
+----------------------+
Функции для работы с данными в PostgreSQL

Что такое полнотекстовый поиск?

Полнотекстовый поиск позволяет выполнять запросы к текстовым данным базы данных на естественном языке.

  • Стемминг

  • Опечатки

  • Ранжирование

Функции для работы с данными в PostgreSQL

Синтаксис полнотекстового поиска

SELECT title, description
FROM film
WHERE to_tsvector(title) @@ to_tsquery('elf');
Функции для работы с данными в PostgreSQL

Давайте потренируемся!

Функции для работы с данными в PostgreSQL

Preparing Video For Download...