Joomla!-开源天空

2008-12-05
首页 专栏热点 Joomla! 源代码分析 自动生成Joomla!文章的TAG标签


自动生成Joomla!文章的TAG标签

E-mail

这里使用了ZendFramework,ZendFramework的安装,请参考这篇文章:ZendFramework安装配置指南

下载本文附件的织梦分词算法的附件,展开后,上传到服务器上。然后我们就可以进行测试了,生成文章的标签。测试的代码如下:

<?PHP
require_once 'Zend/Db.php';
require_once 'Zend/Db/Table.php';
require_once(dirname(__FILE__)."/pub_splitword_www.php");
$startid = $_GET['startid'];
$endid = $_GET['endid'];
$where = 'id>'.$startid.' and id<'.$endid;
$sp = new SplitWord();
$params = array ('host'     => 'localhost',
                 'username' => 'root',
                 'password' => 'yourpassword',
                 'dbname'   => 'yourdatabase');
$db = Zend_Db::factory('PDO_MYSQL', $params);
$db->query('set names utf8');
Zend_Db_Table::setDefaultAdapter($db);
class ContentTable extends Zend_Db_Table {
 protected $_name = 'jos_content'; 
}
$table = new ContentTable();
$rowset = $table->fetchAll($where, 'id ASC');
foreach ($rowset as $row) {
   $words=$row->title;
   $words=@iconv('utf-8','gb2312',$words);
   echo $sp->GetIndexText($sp->SplitRMM($words)).'<br/>';
}
$sp->Clear();
unset($sp);
?>

这样在浏览器中访问:http://yourdomain.com/splitword/test.php?startid=0&endid=100,这就针对前100篇文章的标题生成了标签(TAG),接下来我们就可以保存在数据库中。并可以做TAG CLOUD模块了。

目前织梦分词做出来的标签只有中文,而且关键词的rank是按照织梦的统计获得的,你可以针对自己的网站生成自己的关键词表,并补充到词汇表中。我将改动程序以支持Joomla!这样的纯英文词汇。可能分词算法中没有对“一,二....”等等这样的中文数字没有处理,可以随后改改。

等完成修改后,发布一个完整的版本和针对Joomla!的词库。

Attatchments:
您还没有登录,登录后方能下载,如果您还没有注册,请点击 免费注册
相关文章:
zend_mail使用例程
Zend_DB读取Joomla!文章表的例程
Zend Framework获得Jolt 大奖
修改mod_search以支持中文全文检索组件com_lsearch
Zend_Lucene中文全文检索Joomla!组件com_lsearch
看到了织梦分词算法,打算用来改进一下ZEND
让Joomla! 支持中文全文检索,搜索结果分页
让Joomla! 支持中文全文检索,中文分词的排错
让Joomla! 支持中文全文检索,搜索结果反显
让Joomla! 支持中文全文检索,利用索引查询


收藏此文章:
Digg! Reddit! Del.icio.us! JoomlaVote! Google! Live! Facebook! StumbleUpon! Yahoo! Free social bookmarking plugins and extensions for Joomla! websites!

发表您的文章评论

您的姓名 (昵称)
标题:
评分: 很差一般较好很好
评论:
验证码:
请输入验证码