Эффективный поиск в базе данных Flask-SQLAlchemy
887 просмотра
1 ответ
В настоящее время я использую следующий код:
User.query.filter(or_(User.username.contains(query), User.name.contains(query)))
Но, естественно, когда вы набираете несколько миллионов записей и просматриваете несколько столбцов, LIKE "%query%"
начинается дорого. Whoosh
сильно устарел и sqlalchemy-fulltext-search
, похоже, не хочет работать с моими структурами Flask. У меня есть еще варианты, кроме перехода на PostgreSQL
?
Ответы (1)
0 плюса
Flask_sqlalchemy
ваша ORM не ваша СУБД. Вы можете использовать его с PostgreSQL в качестве базы данных.
То, как вы запрашиваете базу данных, имеет значение в вашем случае.
Одноразовое ядро sqlalchemy
SQLAlchemy
позволяет вам выполнять необработанные SQL
команды, чтобы вы могли писать команды запроса самостоятельно, а не с помощью Model.query.filter()
.
Так что один вариант это написать select expressions
самому и более эффективно.
2-ELK
Эластичный поиск абстрагирует множество эффективных алгоритмов для вас! Вы можете положиться на эластичный поиск для поиска в вашей базе данных.
Автор: Shahryar Saljoughi Размещён: 26.12.2017 08:36Вопросы из категории :
- sqlalchemy Как получить количество затронутых строк в sqlalchemy?
- sqlalchemy Sqlalchemy - Difference between query and query.all in for loops
- sqlalchemy sqlalchemy flush () и получить вставленный идентификатор?
- sqlalchemy Обратный инженер SQLAlchemy определение декларативного класса из существующей базы данных MySQL?
- sqlalchemy Преобразовать объект строки sqlalchemy в python dict
- sqlalchemy SqlAlchemy добавить новое поле в класс и создать соответствующий столбец в таблице
- full-text-search Что такое полнотекстовый поиск против LIKE
- full-text-search Инструменты для поиска строк внутри файлов без индексации
- full-text-search Есть ли чистый Python Lucene?
- full-text-search Как я могу управлять релевантностью полнотекстового поиска MySQL, чтобы сделать одно поле более «ценным», чем другое?
- full-text-search Ошибка MySQL: «Столбец столбца» не может быть частью индекса FULLTEXT »
- full-text-search Искать "полное совпадение слов" в MySQL
- flask-sqlalchemy jsonify набор результатов SQLAlchemy во Flask
- flask-sqlalchemy Установка удаления-сироты для отношения SQLAlchemy приводит к AssertionError: Этот AttributeImpl не настроен для отслеживания родителей
- flask-sqlalchemy Как обновить запись строки SQLAlchemy?
- flask-sqlalchemy ImportError: нет модуля с именем sqlalchemy
- flask-sqlalchemy Flask SQLAlchemy запрос, укажите имена столбцов
- flask-sqlalchemy Использование одного и того же имени таблиц с разными связями во Flask