찾다

 >  Q&A  >  본문

python - flask中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了吧。。。求大神推荐个解决办法

巴扎黑巴扎黑2804일 전942

모든 응답(4)나는 대답할 것이다

  • PHP中文网

    PHP中文网2017-04-17 14:59:46

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

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

    Flask의 SQLAlchemy 기본 쿼리 내용

    회신하다
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 14:59:46

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

    회신하다
    0
  • 高洛峰

    高洛峰2017-04-17 14:59:46

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

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

    회신하다
    0
  • 高洛峰

    高洛峰2017-04-17 14:59:46

    나무가 있다 나무가 있다

    회신하다
    0
  • 취소회신하다