模糊查詢的幾種實現方式


mysql層

like%全模糊%搜索,使用覆蓋索引,有效,但要考慮索引所占空間,查詢的字段少還可以

web 層

前端模糊查詢,給后端精確結果,數據量大前端撐不住。如果某個模糊匹配條件字符串很長,同時數據量又比較大(w以上),那這個搜索做前端模糊一定會占用很多瀏覽器內存且卡頓;但另一種情況是,有多個搜索條件,但是每個條件只有幾個字符,且數據量還可接收,這種情況下模糊匹配也是可以的

應用層

后端取全部數據,流過濾匹配。同樣,要考慮內存使用問題,如果是分頁就更蛋疼了。

中間件層

千萬級數據

  • ElasticSearch(開源,有很多功能,所以操作起來也很復雜)
  • Algolia(專有,但有很棒的文檔並且非常容易啟動和運行)
  • Typesense(開源,提供與 Algolia 相同的模糊搜索功能)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM