有效地搜索Flask-SQLAlchemy数据库

时间:2016-03-01 18:32:21

标签: sqlalchemy full-text-search flask-sqlalchemy

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

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

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

1 个答案:

答案 0 :(得分:0)

Flask_sqlalchemy是您的ORM而不是您的DBMS。您可以将 PostgreSQL一起用作数据库。
如何查询数据库对您而言至关重要。

1次使用sqlalchemy核心

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

2- ELK

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