对于LIKE %XX%这样的查询,相信很多人都会比较头疼。
很多情况下,我们是无法用LIKE XX%来替代全模糊匹配的。
最近针对项目中这种情况,我们采用了全文搜索 + 关系型数据库结合查询的方式。
通过Elasticsearch返回mysql数据id集合,再将集合结果拼接到sql的IN语句中,性能可以得到质的提升。
当然,将Elasticsearch运用到项目中,并实现与数据库LIKE %XX%一致的查询结果,还有很多细节方面的问题,这里先抛个砖。