用于最佳匹配的MySQL搜索算法

时间:2016-06-10 06:22:48

标签: mysql sql database select

我有一个问题。我正在根据产品的子类别创建产品建议功能。假设我有

之类的子类别

案例1(如果我有2个字)

  1. 电视有1个产品
  2. 三星电视有1个产品
  3. 三星冰箱有1个产品
  4. 三星冰箱有1个产品
  5. 我想要的是,如果我输入三星电视,那么我想要TVSamsung TV但不是来自Samsung refrigeratorSamsung fridge的产品。我试过的是

    select * from tabel name where title like "%Samsung TV%" or title like "%Samsung" or title like "%TV" 
    

    案例1问题

    它还从三星冰箱三星冰箱

    中选择产品

    案例2(当字数超过2时)

    1. 三星洗衣机有1个产品
    2. 塔塔洗衣机有1个产品
    3. 三星洗涤设备有1个产品
    4. 洗衣机有1个产品
    5. 如果我输入三星洗衣机,我想要的是什么。我写的查询是

      select * from tabel name where title like "%Samsung washing machine%" or title like "%Samsung washing%" or title like "%washing machine%"
      

      案例2问题

      直到现在没问题,但更好的解决方案将不胜感激。 enter image description here 非常感谢提前。

2 个答案:

答案 0 :(得分:0)

更好地使用just和

select * from tabel name where title like "%TV" or (title like "%Samsung%" and title like "%TV%")

答案 1 :(得分:0)

您可以尝试这样的事情: -

select *  from department  where Name like "%Samsung" or (Name like "%Tv%" and Name like "%Samsung%") UNION select  from department  where Name like "%tv" or (Name like "%Samsung%" and Name like "%TV%")

希望这会有所帮助