文章詳情頁
php - mysql 模糊搜索問題
瀏覽:92日期: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. mysql優化 - mysql count(id)查詢速度如何優化?2. mysql主從 - 請教下mysql 主動-被動模式的雙主配置 和 主從配置在應用上有什么區別?3. angular.js - 不適用其他構建工具,怎么搭建angular1項目4. 主從備份 - 跪求mysql 高可用主從方案5. css3 - [CSS] 動畫效果 3D翻轉bug6. node.js - node_moduls太多了7. angular.js - angularjs 用ng-reapt渲染的dom 怎么獲取上面的屬性8. python如何不改動文件的情況下修改文件的 修改日期9. python - django 里自定義的 login 方法,如何使用 login_required()10. android-studio - Android 動態壁紙LayoutParams問題
排行榜
![css3 - [CSS] 動畫效果 3D翻轉bug](http://www.aoyou183.cn/attached/image/news/202304/110831f073.png)