MySQL 模糊匹配数据集合
在项目开发过程中遇到一个业务需求,要求搜索的时候要模糊匹配多个字段,之前没使用过,现在记录一下,
免的自己忘了。
t.create_author REGEXP CONCAT_WS('|',
<foreach collection="dataModel.keys" item="item" open="" close="" separator=",">
</foreach>
)
or t.news_title REGEXP CONCAT_WS('|',
<foreach collection="dataModel.keys" item="item" open="" close="" separator=",">
</foreach>
)
or t.second_dir REGEXP CONCAT_WS('|',
<foreach collection="dataModel.keys" item="item" open="" close="" separator=",">
</foreach>
上面的方法存在一个问题,就是在查询的时候想查询包含“|”的数据就会报错:RegEx:从regexp获得错误'empty(sub)expression'
解决办法就是循环like,后期我们考虑会把查询接口迁移到solr上,不再直接查询数据库
在这里插入代码片