有效地搜索Flask-SQLAlchemy数据库

问题描述 投票:5回答:1

目前,我正在运行以下代码:

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

但很自然地,当你打几百万条记录并搜索多个列时,LIKE "%query%"开始变得昂贵。 Whoosh严重过时,sqlalchemy-fulltext-search似乎不想使用我的Flask结构。除了切换到PostgreSQL之外,我还有什么选择可以考虑吗?

sqlalchemy full-text-search flask-sqlalchemy
1个回答
0
投票

Flask_sqlalchemy是你的ORM而不是你的DBMS。您可以将它与PostgreSQL一起用作数据库。 在您的情况下,如何查询数据库是最重要的。

1使用sqlalchemy核心

SQLAlchemy允许您执行原始SQL命令,因此您可以自己编写查询命令,而不是使用Model.query.filter()。 因此,一种选择是自己更有效地编写select expressions

2- ELK

弹性搜索抽象了许多有效的算法供您使用!你可以依靠elasticsearch搜索你的数据库。

© www.soinside.com 2019 - 2024. All rights reserved.