python - flask中sqlalchemy如何模糊查询
巴扎黑
巴扎黑 2017-04-17 14:57:46
0
4
938

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

现在参考用了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了吧。。。求大神推荐个解决办法

巴扎黑
巴扎黑

모든 응답(4)
洪涛

저는 Flask-WhooshAlchemy를 사용해본 적이 없지만, 표현으로 볼 때 @digwtx님 말씀처럼 퍼지 매칭이 잘못 쓰여졌거나 길이가 제한되어 있을 수도 있습니다.

결과를 찾을 수 없는 또 다른 이유가 있습니다. MySQL을 사용하는 경우 MySQL은 최소 일치 문자 길이를 4자로 제한합니다. 4자보다 큰 경우에만 일치 결과 세부 정보를 사용할 수 있습니다.

Flask의 SQLAlchemy 기본 쿼리 내용

伊谢尔伦

whoosh_index 이 메소드는 전체 텍스트 인덱스를 초기화합니다. 데이터베이스와 전체 텍스트 검색 엔진 간의 동기화를 유지하기 위해 데이터베이스에 있는 기존 데이터를 모두 삭제하고 다시 시작합니다.

小葫芦

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

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

小葫芦

나무가 있다 나무가 있다

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿