数据库使用mySQL      如何根据 “前端工程师” 搜索到名字为“前端开发工程师”  大概这样的问题

解决方案 »

  1.   


    SELECT * FROM tablename WHERE searchname LIKE '%上海大学%'
      

  2.   

    数据表中关键词少的情况下 已有经验两千条左右 like查询可以的 。 多的情况 可以用mysql的全文索引也行 高版本目前已支持中文全文索引了。 超大的情况 用三方中文索引软件 市面流行的esearch还可以的。
      

  3.   

    这只能搜索到 上海大学交通 这样的   
    可以使用通配符%来模糊搜索,具体的还得那边做下优化SELECT * FROM tablename WHERE name LIKE '北京%大学'
      

  4.   

    使用类似于 sphinx  这样的检索
      

  5.   

    可以使用elasticsearch存储数据,查询“上海大学”搜索到 “上海交通大学”可以满足,一些专有名词可以增加到ik分词器中
      

  6.   

    或者可以直接分割字符串成数组然后通过 “%”组合
    组合成的sql就是
    SELECT * FROM tablename WHERE searchname LIKE '%上%海%大%学%'