Встречается на собеседованиях • сегодня
Как работает поиск с морфологией в PostgreSQL
PostgreSQL поддерживает морфологический поиск через модуль pg_trgm и полнотекстовый поиск с использованием словарей.
Основные механизмы:
- Триграммы (
pg_trgm) — разбивают текст на последовательности из 3 символов, позволяя искать похожие слова даже с опечатками. - TSVector/TSQuery — преобразуют текст в лексемы, применяя морфологию (например, приведение слов к начальной форме).
Пример:
sql
-- Создание TSVector с русской морфологией
CREATE TEXT SEARCH CONFIGURATION ru (COPY = russian);
ALTER TEXT SEARCH CONFIGURATION ru ALTER MAPPING FOR word WITH russian_stem;
-- Поиск с учетом морфологии
SELECT * FROM articles
WHERE to_tsvector('ru', content) @@ to_tsquery('ru', 'бежал');
-- Найдет "бежать", "бежали" и т.д.Нюансы:
- Требует настройки словарей (например,
russian_stemдля русского языка). - Для триграм нужен индекс
GIN/GISTдля скорости. - Морфология зависит от качества словаря.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы