想在网站上做一个简单的站内搜索,如果遇到搜索框输入多个关键字,怎么进行分割,分别获取这多个关键字进行进一步搜索呢?

解决方案 »

  1.   

    两种方法:一种是用程序分词
    另一种是让用户自己手动分词
    第一种方法,如果是PHP的话有DEDECMS的分词算法可以用,楼主可以去网上找找,很多地方都有下载
    如果是其他语言那也应该有对应的算法,不过是不是开源免费的就不好说了
    第二种方法,让用户用空格来分开关键词,后台获取后就可以根据空格来分割了,这就不说了,不同的语言有不同的做法,但是最后的结果都是一样的,那就是分词完成后使用SQL 中 like语句去模糊检索
      

  2.   

    谈深了就是分词的算法了,首先要建立一个好的词库。谈浅一点,如果楼主是希望seo优化,我用了一个很简单的方法。//首先把要替换的关健词读出来,
    $keyword_arr = $this->$keyword_model->get();//遍历替换
     foreach($keyword_arr as $key_key =>$val_key){
        $info = str_replace($val_key->keyword_title,$val_key->keyword_info,$info);
     }