我有带有全文索引的 MySQL 表。我想知道如何将 MATCH ... AGAINST() 与 SQLAlchemy 一起使用。你有一些例子吗?
...
trs = dbsession.query(Trans).filter(Trans.client_id==user_id)
if search and search != '':
trs = trs.filter(or_(Trans.transcribe.like('%'+search+'%'), Trans.lang_name.like('%'+search+'%')))
...
Run Code Online (Sandbox Code Playgroud)
我想用“MATCH/AGAINST IN BOOLEAN MODE”结构替换 LIKE,但我不知道如何做
您应该只需要使用该子句:
Trans.lang_name.match(str_to_match)
Run Code Online (Sandbox Code Playgroud)
其中str_to_match是您要匹配的字符串。
这将(对于 MySQL 方言)编译为(假设Trans模型表名称为trans并且模型属性与列名称匹配):
'MATCH(trans.lang_name) AGAINST (%s IN BOOLEAN MODE)' % str_to_match
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2138 次 |
| 最近记录: |