PHP中文分词,自动获取关键词

 PHP中文分词,自动获取关键词,方便用于网站分词查询,

PHP分词类库下载链接: https://pan.baidu.com/s/1N_hUhP_c9fxC_2ErVk2GuA 提取码: twyw

具体使用方式:

 require (EXTEND_PATH.'fenci/phpanalysis.class.php');//引入类文件
        \PhpAnalysis::$loadInit = false;
        $pa = new \PhpAnalysis('utf-8', 'utf-8', false);
        $pa->LoadDict();
        $pa->SetSource($keyword);//带入需要分词的语句
        $pa->StartAnalysis(false);
        $keywords = $pa->GetFinallyResult();


个人在thinkcmf中使用案列代码:

//构建分词查询MYSQL where条件语句
$kew_a = array();
if (strlen($keyword)>6)
{
require (EXTEND_PATH.'fenci/phpanalysis.class.php');
    // import('fenci/phpanalysis.class.php',EXTEND_PATH);
\PhpAnalysis::$loadInit = false;
$pa = new \PhpAnalysis('utf-8', 'utf-8', false);
$pa->LoadDict();
$pa->SetSource($keyword);
$pa->StartAnalysis(false);
$keywords = $pa->GetFinallyResult();
$kew_a = explode(',', $keywords);
}

else{
    $kew_a[] = $keyword;
}

if ($type == 1) {
    $where = "post.create_time >= 0 AND category_id NOT IN(55,56)";
    if ($kew_a) {
        $key_where = ' AND (';
        foreach ($kew_a as $v) {
            $key_where .= "LOCATE('{$v}',post.post_title) OR LOCATE('{$v}',post.post_content) OR ";
        }
        $key_where = trim($key_where, 'OR ');
        $where = $where . ' ' . $key_where . ')';
    }

} elseif ($type == 2) {
    $where = "post.create_time >= 0 AND category_id=58";
    if ($kew_a) {
        $key_where = ' AND (';
        foreach ($kew_a as $v) {
            $key_where .= "LOCATE('{$v}',post.post_title) OR ";
        }
        $key_where = trim($key_where, 'OR ');
        $where = $where . ' ' . $key_where . ')';
    }
} elseif ($type == 3) {
    $where = "post.create_time >= 0 AND category_id=59";
    if ($kew_a) {
        $key_where = ' AND (';
        foreach ($kew_a as $v) {
            $key_where .= "LOCATE('{$v}',post.post_title) OR ";
        }
        $key_where = trim($key_where, 'OR ');
        $where = $where . ' ' . $key_where . ')';
    }
}


支付宝扫码打赏 微信扫码打赏

如果本文对你有帮助,欢迎打赏本站

喜欢 ()or分享
    匿名评论
  • 评论
人参与,条评论