内部网站搜索仅匹配完全匹配的单词

时间:2019-11-14 07:28:36

标签: php mysql sql

我正在建立一个电子商务网站,正在使用PHP和Mysql,并且在名为product的表中有一些产品名称。我如何建立一个搜索系统,如果我键入“ 核桃”,它将返回包含单词“ wallnut,核桃,核桃”和发音相同的单词(如“ valnuts ”,然后首先按最佳匹配结果排序。为此,我正在通过以下查询尝试此操作:

select product_name,photo,in_stock,sell_price
from $tbl_product
where product_name like '%".$q."%'
ORDER BY (CASE WHEN product_name LIKE '".$q."%' THEN 1
               WHEN product_name LIKE '%".$q."%' THEN 2 ELSE 3
          END) limit 0,10 

其中$ q是搜索字符串。通过此查询,我得到结果,但只有完全匹配的单词。 我需要Bigbasket.com上的结果 wallnuts,wallnut,walnts,valnuts

1 个答案:

答案 0 :(得分:1)

您可以尝试的最接近的是MYSQL中的select * from mytext where soundex(val) LIKE CONCAT('%',SOUNDEX('wallnut'),'%') 函数。

main_container

这给了我胡桃,胡桃,沃尔特斯Check Demo here