比如数据库里存的是“一万五千元”,若用户搜“五千”就没有结果,只有搜“一万”或“一万五”才有结果,请问该怎么办才能让用户搜“五千”也可以搜到呀?

解决方案 »

  1.   

    用%匹配的?前面也加上%号,类似  like '%五千%'这样
      

  2.   

    模糊匹配,实在不行,就在sql中使用正则就可以
      

  3.   

    WHERE COL %五千%
      

  4.   

    SELECT * FROM zy WHERE match(name) against('%达人%' IN BOOLEAN MODE)
    是这样用么?搜不到结果
      

  5.   

    SELECT * FROM zy WHERE match(name) against('%达人%' IN BOOLEAN MODE)
    是这样用么?搜不到结果
    全文索引的话是不需要加%号的,据说也不需要从头开始
      

  6.   

    SELECT * FROM zy WHERE match(name) against('%达人%' IN BOOLEAN MODE)
    是这样用么?搜不到结果
    全文索引的话是不需要加%号的,据说也不需要从头开始

    对,大部分情况下不用加%
    但是我用全文索引只能搜到从头开始一样的结果,好像必须这样用。
    请问有没有其他高效的能模糊匹配的搜索方法呀?