Search SQLAlchemy搜索算法

Search SQLAlchemy搜索算法,search,sqlalchemy,Search,Sqlalchemy,我正在开发一个使用SQLAlchemy的金字塔web应用程序。 我有一个7000所美国大学的数据库,前端有一个输入框,可以输入一所大学。输入框使用jqueryui的autocomplete,它随后使用AJAX调用my pyramid应用程序以获取选项列表。 我根据术语获取结果的方式如下: session.query(University.filter(University.name.like('%'+term+'%')) 这很不错,但是,我想支持以下几点——当用户进入UCLA时,我想找到加利福尼

我正在开发一个使用SQLAlchemy的金字塔web应用程序。
我有一个7000所美国大学的数据库,前端有一个输入框,可以输入一所大学。输入框使用jqueryui的autocomplete,它随后使用AJAX调用my pyramid应用程序以获取选项列表。
我根据术语获取结果的方式如下:
session.query(University.filter(University.name.like('%'+term+'%'))

这很不错,但是,我想支持以下几点——当用户进入UCLA时,我想找到加利福尼亚大学-洛杉矶。 除了迭代我的整个大学列表(~8000)并手动确定名称是否匹配之外,是否有方法指定与sqlalchemy的查询/过滤器匹配的函数


谢谢!

SQLAlchemy本质上是SQL的前端。如果您的查询不能很容易地表示为SQL,那么您不太可能从手动迭代的角度看到任何好处,无论您是执行还是执行,它仍然需要拉出整行并进行比较

但是,如果在搜索X时,还希望搜索可以从X派生的Y,请先查找Y,然后使用

也就是说,不要做:

获取所有行,对于每一行,查看它是否匹配X或Y

相反,你应该:

获取与X匹配的所有行加上与Y匹配的所有行