使用Mysql和PHP进行智能搜索

时间:2016-03-04 11:45:39

标签: php mysql database match

我有一个名为products_list的SQL表,其中包含产品的详细信息,我可以在此列出两个非常重要的字段,根据这些字段我需要整合INTELLECT SEARCH RESULT。

  1. product_id

  2. product_title

  3. 中的内容示例
    1. Lenovo K3 Note

    2. Lenovo ZUK

    3. Apple Iphone 6s

    4. 联想A6000

    5. 等等。

      我需要什么?

      如果用户输入lenov,则应以'lenovo k3 Note, lenovo zuk, lenovo a6000'

      生成

      如果用户输入le,则应以'lenovo k3 Note, lenovo zuk, lenovo a6000, apple iphone 6s'

      生成

      如果用户输入6 iphon,则应以'apple iphone 6s'

      生成
        

      注意:非常重要的是,我需要首先列出最匹配的产品,例如,如果用户输入lenov zu,结果应排序最匹配   字符串在这里像'lenovo zuk 第一 lenovo a6000和lenovo k3   以任何顺序 '

      我尝试了什么?

      我尝试使用'like',它几​​乎可以使用,但无法按最匹配的字符串排序。 select * from product_list where product_title like '%$searchString%' order by product_title asc

      我尝试使用'MATCH AGAINST'逻辑,这种方法有效,但未能再次排序。

      select *, MATCH(product_title) AGAINST ('$searchString*') AS RELEVANCE from product_list where MATCH(product_title) AGAINST ('$searchString*' IN BOOLEAN MODE) order by RELEVANCE DESC
      

      RELEVANCE始终为0

        

      注意:我已将MyISAM用作存储引擎,并将FULLTEXT INDEX添加到字段product_title

0 个答案:

没有答案