先小小地质疑一下: | 在动网 PHP 版公测的公告中有一句话:
特点1:[国内独家]解决Mysql中文全文检索问题,在不依靠第三方支持的情况下提供中文全文检索和论坛相关主题的解决方案 | 呵呵, 是国内独家吗? 不可能的啊~~~~~~ |
插件名称 | 脱离奇虎的论坛帖子关键字及相关主题功能 | 插件版本 | 1.0.0 | 运行平台 | Discuz!4.1.0 / Discuz! 5.0.0 RC1 | 插件作者 | 魔焰男孩 | 版权声明 | 1. 本程序代码由 魔焰男孩 编写, 版权属 魔焰男孩 所有
2. 本程序的关键字识别功能所需的汉字词库, 词库系网上下载而来
3. 词库经过 魔焰男孩 的修改, 但词库版权属词库作者所有 |
文件结构 |
- ./include/similarthreads.inc.php (相关主题生成程序)
- ./dicwords/dicwords_0.dic (用户自定义词库, 不马上生效, 需系统程序文件, 见 #2)
- ./dicwords/dicwords_1.dic ~ dicwords_14.dic (汉字词库, 分卷版)
- ./dicwords/dicwords_chs.dic (汉字词库, 完整版)
- ./dicwords/dicwords_eng.dic (英文词库, 可以自己修改、添加词库内容)
注: 如果用户使用自定义词库, 程序将会夹在汉字词库分卷版; 如不使用, 则程序将加载汉字词库完整版 | 程序说明 |
- 程序在第一个用户浏览没有经过关键字识别的帖子的时候自动识别关键字, 并且查找相关主题, 写入数据表内的字段保存起来, 以供日后使用. 如果该帖子没有关键字, 也保存标示为"没有关键字"的字符到数据表里, 防止以后浪费资源.
- 以后的用户浏览帖子的时候, 将会读取以前生成的关键字及相关主题并显示出来.
- 点击关键字, 将会使用论坛搜索来查找更多的帖子.
以上原理如果看不懂, 不要紧, 能用就行. |
安装方法 I (适合 Discuz! 4.1.0 的用户) | 1. 打开 系统设置 - 数据库 - 数据库升级, 输入以下内容并提交执行:
- DROP TABLE IF EXISTS cdb_similarthreads;
- CREATE TABLE cdb_similarthreads (
- oritid mediumint(6) NOT NULL default '0',
- aimtid mediumint(6) NOT NULL default '0'
- );
- ALTER TABLE cdb_threads ADD keywords varchar(255) NOT NULL default '';
复制代码 | 2. 下载附件并解压缩, 把里面的upload目录里的所有文件按照存放格式上传到论坛目录里面. | 3. 打开 ./viewthread.php, 查找:
- include template('viewthread');
复制代码
在上面添加:
- include DISCUZ_ROOT.'./include/similarthreads.inc.php';
复制代码 | 4. 打开 ./post.php, 查找:
- } elseif($action == 'edit') {
复制代码
在下面添加:
- $db->query("UPDATE {$tablepre}threads SET keywords='' WHERE tid='$tid' AND fid='$fid'");
- $db->query("DELETE FROM {$tablepre}similarthreads WHERE oritid='$tid'");
复制代码 | 5. 打开模板文件 viewthread.htm(一般位于 templates/default 目录下), 查找:
- <!--{if $post['number'] == 1 && $relatedkeywords}--><br><br><span class="bold">{lang thread_keywords}</span> $relatedkeywords<br><br><br><!--{/if}-->
复制代码
在上面加上:
- <!--{if $post['number'] == 1 && $thread['keywords'] && $keywords && !$relatedkeywords}--><br><br><span class="bold">{lang thread_keywords}</span> $keywords<br><br><br><!--{/if}-->
复制代码 | 继续查找模板 viewthread.htm, 找到:
- <!--{if $relatedthreadlist}-->
复制代码
在上面添加:
- {template viewthread_similar}
复制代码 | 6. 保存所有文件, 更新缓存, 安装完成. |
安装方法 II (适合 Discuz! 5.0.0 RC1 的用户) | 1. 打开 系统设置 - 数据库 - 数据库升级, 输入以下内容并提交执行:
- DROP TABLE IF EXISTS cdb_similarthreads;
- CREATE TABLE cdb_similarthreads (
- oritid mediumint(6) NOT NULL default '0',
- aimtid mediumint(6) NOT NULL default '0'
- );
- ALTER TABLE cdb_threads ADD keywords varchar(255) NOT NULL default '';
复制代码 | 2. 下载附件并解压缩, 把里面的upload目录里的所有文件按照存放格式上传到论坛目录里面. | 3. 打开 ./viewthread.php, 查找:
- include template('viewthread');
复制代码
在上面添加:
- include DISCUZ_ROOT.'./include/similarthreads.inc.php';
复制代码 | 4. 打开 ./post.php, 查找:
- } elseif($action == 'edit') {
复制代码
在下面添加:
- $db->query("UPDATE {$tablepre}threads SET keywords='' WHERE tid='$tid' AND fid='$fid'");
- $db->query("DELETE FROM {$tablepre}similarthreads WHERE oritid='$tid'");
复制代码 | 5. 打开模板文件 viewthread.htm(一般位于 templates/default 目录下), 查找:
- <!--{if $post['number'] == 1 && $relatedkeywords}--><br><br><span class="bold">{lang thread_keywords}</span> $relatedkeywords<br><br><!--{/if}-->
复制代码
在上面加上:
- <!--{if $post['number'] == 1 && $thread['keywords'] && $keywords && !$relatedkeywords}--><br><br><span class="bold">{lang thread_keywords}</span> $keywords<br><br><br><!--{/if}-->
复制代码 | 继续查找模板 viewthread.htm, 找到:
- <!--{if $relatedthreadlist && $qihoo_location}-->
复制代码
在上面添加:
- {template viewthread_similar}
复制代码 | 6. 保存所有文件, 更新缓存, 安装完成. |
程序文件 | 程序过大, 已分卷压缩, 请大家把所有文件都下载下来放到同一个目录, 对第一个附件进行解压缩即可
| 程序截图 | | The end
[ 本帖最后由 魔焰男孩 于 2006-8-3 17:36 编辑 ] |