首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >最佳匹配的MySQL搜索算法

最佳匹配的MySQL搜索算法
EN

Stack Overflow用户
提问于 2016-06-10 06:22:48
回答 2查看 1.7K关注 0票数 2

我有个问题。我正在创建一个基于产品子类别的产品建议功能。假设我有这样的子类别

案例1(如果我有两个词)

  1. 电视有1种产品
  2. 三星电视拥有1款产品。
  3. 三星冰箱有1款产品
  4. 三星冰箱有1款产品

我想要的是,如果我进入三星电视,那么我想要TVSamsung TV的产品,而不是Samsung refrigeratorSamsung fridge的产品。我试过的是

代码语言:javascript
复制
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台产品

我想要的是如果我进入三星洗衣机。我写的查询是

代码语言:javascript
复制
select * from tabel name where title like "%Samsung washing machine%" or title like "%Samsung washing%" or title like "%washing machine%"

案例2问题

到目前为止,没有问题,但更好的解决办法将得到赞赏。

非常感谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-06-10 09:30:28

你可以这样做:-

代码语言:javascript
复制
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%")

希望这会有帮助

票数 0
EN

Stack Overflow用户

发布于 2016-06-10 06:28:39

你最好用的是

代码语言:javascript
复制
select * from tabel name where title like "%TV" or (title like "%Samsung%" and title like "%TV%")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37741216

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档