icontains.В Caktus Group разобрали fuzzy string matching средствами самого PostgreSQL - без отдельного Elasticsearch.
Идея проста: вместо точного совпадения искать строки, похожие друг на друга.
Для этого в PostgreSQL можно использовать:
-
pg_trgm- trigram similarity
- Django
TrigramSimilarity- пороги похожести
- GIN/GiST индексы для ускорения поиска
Например, пользователь вводит имя с опечаткой, переставляет буквы или пишет только часть слова - а приложение всё равно находит нужную запись.
Особенно полезно для поиска по именам, адресам, названиям компаний и любым пользовательским данным, где идеального ввода ждать не стоит.
https://www.caktusgroup.com/blog/2026/08/21/fuzzy-string-matching-django-postgresql/
