В настоящее время я пытаюсь использовать операции pg_trgm %
и <->
.Индексы GIN для столбцов уже доступны, но я не могу найти sqlalchemy, эквивалентный ранее упомянутым операторам.
Каков наилучший подход для решения этой проблемы, кроме написания чисто текстового запроса.
Простой пример запроса:
tag = test
tag_subq = session.query(sticker_tag.file_id, f'sticker_tag.name <-> {tag}'.label(distance)) \
.filter(f'sticker_tag.name % {tag}')) \
.filter('distance' < 0.3) \
.subquery("tag_subq")
Вышеупомянутый запрос, очевидно, не работает, а строка select и filter являются просто заполнителями для визуализации того, что я собираюсь сделать.