玩蛇网提供最新Python编程技术信息以及Python资源下载!

求教sqlalchemy模糊查询正确使用方法

因为现在做一个查询功能,输入一个字符串,去查询匹配的内容,这个字符串可能存在于多个字段。

现在参考用了Flask-WhooshAlchemy来做,但是查询结果如下:

 hosts.query.whoosh_search('ce').all()            
[]
 hosts.query.whoosh_search('ceshi').all()
[<Host u'\u6d4b\u8bd5'>]
 hosts.query.whoosh_search('ces').all()  
[]
 hosts.query.whoosh_search('esh').all()
[]

查询"ceshi"的时候又结果,而查询"ce"的时候竟然查询不出来,这也太2了吧。。。求大神推荐个解决办法

不是人家2, 只是你没选对方法而已, 例如:

Article.query.filter(Article.title.ilike('%ce%'))

有木有,有木有

没使用过Flask-WhooshAlchemy,而看你的表达式,可能像@digwtx说的模糊匹配写错,或者就是长度被限制。

对于你查不出结果,还有个可能的原因,如果用的是MySQL的话,MySQL限定了最小匹配字符长度,默认长度为4,大于4个字符才会有匹配结果详情

flask中SQLAlchemy的基本查询详情

whoosh_index这个方法来初始化全文索引,为了保持数据库和全文检索引擎的同步,在数据库中删除所有已经存在的数据,然后重新开始。

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd18689.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2017年05月24日 - 19时12分24秒 发布自玩蛇网

您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容
我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules