zoukankan      html  css  js  c++  java
  • 模糊查询的几种实现方式

    mysql层

    like%全模糊%搜索,使用覆盖索引,有效,但要考虑索引所占空间,查询的字段少还可以

    web 层

    前端模糊查询,给后端精确结果,数据量大前端撑不住。如果某个模糊匹配条件字符串很长,同时数据量又比较大(w以上),那这个搜索做前端模糊一定会占用很多浏览器内存且卡顿;但另一种情况是,有多个搜索条件,但是每个条件只有几个字符,且数据量还可接收,这种情况下模糊匹配也是可以的

    应用层

    后端取全部数据,流过滤匹配。同样,要考虑内存使用问题,如果是分页就更蛋疼了。

    中间件层

    千万级数据

    • ElasticSearch(开源,有很多功能,所以操作起来也很复杂)
    • Algolia(专有,但有很棒的文档并且非常容易启动和运行)
    • Typesense(开源,提供与 Algolia 相同的模糊搜索功能)
    三分热血值得你十二分努力。
  • 相关阅读:
    python面向对象开发
    python迭代器和生成器
    python 集合
    python 字典
    python 元组
    python列表
    python字符串方法
    dom节点操作
    vue 跨域配置代理 get/post 请求
    Vuecli版本调整
  • 原文地址:https://www.cnblogs.com/woooodlin/p/how_to_do_fuzzy_query.html
Copyright © 2011-2022 走看看