现在有个句子 “我们是中国人” 
在数据库的一个表
 table (keywords,proudcutid) values('中国',1) values(‘人类’,1) values(‘我们’,1)
怎么样才能模糊查出这个句子与这个表那个几个关键字匹配
有什么好的方法吗,我都想了好几天了还是无法解决 请大家帮我解决 谢谢
万分感谢

解决方案 »

  1.   

    把这个句子分开了查吧,用like
      

  2.   


    $str="我们是中国人";
    sql="select keywords from table where instr('$str',keywords)>0";
      

  3.   

    select keywords from table where instr('$str',keywords)
    这个是可以,但你的那个 人类 估计很难匹配上?你的匹配原则是什么?
      

  4.   

    匹配没什么原则,如果用这样的方式,那是谁来做分词那,是mysql吗?性能怎么样select keywords from table where instr('$str',keywords)
    这个是可以,但你的那个 人类 估计很难匹配上?你的匹配原则是什么?
      

  5.   


    用数据的所有词匹配一下那个字串性能码?因为要遍历全表,数据库大时会有影响
    如果关键字有索引,且instr有相关算法,效率会高