文章详情页
php - mysql 模糊搜索问题
浏览:101日期:2022-06-12 08:32:25
问题描述
各位请问我如何匹配以下关键词
如数据库种存储字符为:sfsdf4-1bbsdfsd;
用户输入41bb、4 1bb,也能匹配到此字符串
这该如何去做?谢谢
问题解答
回答1:你需要的不是 mysql 模糊搜索了吧。 需要搜索引擎的支持。
回答2:新建一个字段,存储去掉需要忽略的特殊字符后的字符串,比如 : sfsdf41bbsdfsd,查询的时候,也对关键字进行同样的操作,用新的字段去匹配
回答3:MySQL 支持正则表达式搜索,例如 SELECT name FROM person_tbl WHERE name REGEXP ’^[aeiou]|ok$’;
回答4:我觉得应该先处理用户提交的数据,以空格分割线分割用户提交的数据,组成一个数组,然后用这个数组中的数据进行模糊查询,之后取出相同的数据。。。但是在大量用户以此种方式查询的情况下,我认为你的系统会被拖得很慢很慢,所以不建议用这种设计模式
回答5:题主的问题设置到分词搜索了,直接进行模糊搜索匹配不到的,使用正则表达式搜索的话效率太差,不推荐,而且场景太多了,自己开发实现的话,很难全部都考虑到.推荐使用一个搜索引擎吧,sphinx就很好用,对mysql的支持也很好.题主有php标签,如果常用php开发的话,用迅搜也很好,http://www.xunsearch.com/ 国人开发的,全中文的文档,用起来也很方便.
回答6:用搜索引擎吧,人家就是专业干这个的
上一条:php - 生产环境下,给MySQL添加索引,修改表结构操作,如何才能让线上业务不受影响?下一条:mysql - 用PHPEXCEL将excel文件导入数据库数据5000+条,本地数据库正常,线上只导入15条,没有报错,哪里的问题?
相关文章:
1. java - ehcache缓存用的是虚拟机内存么?2. javascript - JS如何取对称范围的随机数?3. 数据库 - mysql如何处理数据变化中的事务?4. javascript - 有什么兼容性比较好的办法来判断浏览器窗口的类型?5. 关于docker下的nginx压力测试6. java - mongodb分片集群下,count和聚合统计问题7. android - java 泛型不支持数组,那么RxJava的Map集合有什么方便的手段可以定义获得一串共同父类集合数据呢?8. java - 自己制作一个视频播放器,遇到问题,用的是内置surfaceview类,具体看代码!9. dockerfile - 我用docker build的时候出现下边问题 麻烦帮我看一下10. 服务器端 - 采用nginx做web服务器,C++开发应用程序 出现拒绝连接请求?
排行榜
