Loading

ThinkPHP3.2添加scws中文分词

前言

前一段时间,公司网站做站内搜索,只简单针对输入的文字进行搜索,作全匹配检索,搜索出来的内容很少。如何达到模糊搜索,匹配到更多的内容成了需要解决的问题。于是,今天想到可以做分词检索,如何对输入的一段文字进行分词就是关键,本着不做轮子的想法网上找找,还真有一些分词方案scws中文分词

正文

1.引入PSCWS4文件包和XDB词典文件(utf-8),放进Vendor文件夹:

2.通过PSCWS4工具类进行分词操作:

    //搜索页面
    public function searched($keyword,$type=0,$page=1){
        $keyword = rawurldecode($keyword);
        Vendor('scws.pscws4');
        $pscws = new \PSCWS4();
        $pscws->set_dict(VENDOR_PATH.'scws/lib/dict.utf8.xdb');
        $pscws->set_rule(VENDOR_PATH.'scws/lib/rules.utf8.ini');
        //$keywords='第三方中文分词';
        $pscws->set_ignore(true);
        $pscws->send_text($keyword);
        $words = $pscws->get_tops(5);
        $tags = array();
        foreach ($words as $val) {
            $tags[] = $val['word'];
        }
        $pscws->close();
    }

其中,$tag就是所得的分词。

posted @ 2017-04-11 16:15  集君  阅读(837)  评论(0编辑  收藏  举报