Эффективный поиск в базе данных Flask-SQLAlchemy

sqlalchemy full-text-search flask-sqlalchemy

887 просмотра

1 ответ

В настоящее время я использую следующий код:

User.query.filter(or_(User.username.contains(query), User.name.contains(query)))

Но, естественно, когда вы набираете несколько миллионов записей и просматриваете несколько столбцов, LIKE "%query%"начинается дорого. Whooshсильно устарел и sqlalchemy-fulltext-search, похоже, не хочет работать с моими структурами Flask. У меня есть еще варианты, кроме перехода на PostgreSQL?

Автор: JTApps Источник Размещён: 26.10.2019 04:29

Ответы (1)


0 плюса

Flask_sqlalchemyваша ORM не ваша СУБД. Вы можете использовать его с PostgreSQL в качестве базы данных.
То, как вы запрашиваете базу данных, имеет значение в вашем случае.

Одноразовое ядро ​​sqlalchemy

SQLAlchemyпозволяет вам выполнять необработанные SQLкоманды, чтобы вы могли писать команды запроса самостоятельно, а не с помощью Model.query.filter().
Так что один вариант это написать select expressionsсамому и более эффективно.

2-ELK

Эластичный поиск абстрагирует множество эффективных алгоритмов для вас! Вы можете положиться на эластичный поиск для поиска в вашей базе данных.

Автор: Shahryar Saljoughi Размещён: 26.12.2017 08:36
Вопросы из категории :
32x32