时间:2021-07-01 10:21:17 帮助过:16人阅读
1 namespace Org\Util;
将类的名称改为Pscws
把require_once (dirname(__FILE__) . '/XBD_R.class.php');这段代码删除掉。
修改XDB_R.class.php
加入命名空间
namespace Org\Util;
4.解压XDB 词典文件
在Public\admin目录下新建一个dict文件夹,然后将XDB 词典文件的dict.utf8.xdb解压到词目录下,再把scws类中的etc下面的rules.utf8.ini放到此目录下面。
5.在入口文件加入一行常量定义代码(其实就是定义词典文件和配置文件的路径)
define("CONF_PATH", dirname(__FILE__)."/Public/admin/dict/");6.在IndexController.class.php控制器里面建立一个私有方法,供其他方法调用
/**
* 中文分词
* @params string $title 需要分词的语句
* @params int $num 分词个数,默认不用填写
**/
private function get_tags($title,$num=null){
$pscws = new \Org\Util\Pscws('utf8');
$pscws->set_dict(CONF_PATH . 'dict.utf8.xdb');
$pscws->set_rule(CONF_PATH . 'rules.utf8.ini');
$pscws->set_ignore(true);
$pscws->send_text($title);
$words = $pscws->get_tops($num);
$pscws->close();
$tags = array();
foreach ($words as $val) {
$tags[] = $val['word'];
}
return implode(',', $tags);
}
/**
* 商品搜索结果页
**/
public function search(){
$rzt=$this->get_tags("新款 牛漆皮小尖头直跟高跟单鞋910033 灰羊猄(7.31发货) 39");
print_r($rzt);
}显示的结果为:
漆皮,单鞋,尖头,高跟,新款,发货,910033,7.31,39
以上就介绍了Thinkphp32使用scws中文分词 提取关键词,包括了require方面的内容,希望对PHP教程有兴趣的朋友有所帮助。