终于解决本论坛(phpbb3)的中文搜索问题

论坛日常站务以及建议或咨询
头像
oneleaf
论坛管理员
帖子: 10237
注册时间: 2005-03-27 0:06
系统: Ubuntu 12.04
送出感谢: 7 次
接收感谢: 106 次

终于解决本论坛(phpbb3)的中文搜索问题

#1

帖子 oneleaf » 2009-01-12 12:51

非常感谢 Hightman 的开源中文分词方案。 http://www.hightman.cn/

解决核心思路是给mysql打中文全文搜索补丁包。

============================
修正phpbb3中文搜索
安装步骤:
1 安装 scws-1.0.1

代码: 全选

wget http://www.ftphp.com/scws/down/scws-1.0.1.tar.bz2
tar xvjf scws-1.0.1.tar.bz2
cd scws-1.0.1
./configure --prefix=/usr/local/scws ; make ; sudo make install
cd /usr/local/scws/etc
sudo wget http://www.ftphp.com/scws/down/scws-dict-chs-gbk.tar.bz2
sudo wget http://www.ftphp.com/scws/down/scws-dict-chs-utf8.tar.bz2
sudo tar xvjf scws-dict-chs-gbk.tar.bz2
sudo tar xvjf scws-dict-chs-utf8.tar.bz2
sudo vim /etc/ld.so.conf.d/scws.conf 写入 /usr/local/scws/lib 保存关闭。
2 获得mysql5.1.30的源码包

代码: 全选

cd ~
wget http://ftp.debian.org/debian/pool/main/m/mysql-dfsg-5.1/mysql-dfsg-5.1_5.1.30-2.diff.gz
wget http://ftp.debian.org/debian/pool/main/m/mysql-dfsg-5.1/mysql-dfsg-5.1_5.1.30-2.dsc
wget http://ftp.debian.org/debian/pool/main/m/mysql-dfsg-5.1/mysql-dfsg-5.1_5.1.30.orig.tar.gz
dpkg-source -x mysql-dfsg-5.1_5.1.30-2.dsc
3 下载 myft 最新版,给mysql源码打补丁

代码: 全选

cd mysql-dfsg-5.1-5.1.30
wget http://www.hightman.cn/down/myft-5.1.30-081231.tgz
tar xvzf myft-5.1.30-081231.tgz
patch -p0 < myft_scws_udf_5.1.30.patch
4 重新打包mysql5.1.30,并安装mysql 5.1

代码: 全选

dpkg-buildpackage -rfakeroot
cd ..
#如果有安装mysql5.0需要先删除mysql5.0
sudo dpkg -i *.deb
5 编译plugin/scws

代码: 全选

cd mysql-dfsg-5.1-5.1.30/plugin/scws
./configure --prefix=/usr --with-scws=/usr/local/scws
make ; sudo make install
6 在/etc/mysql/my.cnf增加最小分词长度的配置

代码: 全选

在 [mysqld] 字段里加入 ft_min_word_len = 2
7 重启mysql

代码: 全选

sudo /etc/init.d/mysql restart
8 增加mysql函数

代码: 全选

mysql>INSTALL PLUGIN scws_parser SONAME 'libftscws.so';
9 修改phpbb3的索引文件includes/search/fulltext_mysql.php 源码:

代码: 全选

将 ADD FULLTEXT (...) 后面加上 WITH PARSER scws_parser 
一共有三处地方修改。

10 到phpbb3的后台删除 fulltext_mysql的索引,再重新创建下。

这种是目前最佳处理phpbb3中文搜索的办法,到此大功告成。

修改完毕后,表空间尺寸大小:

代码: 全选

# ls -l phpbb_posts*
-rwxr-xr-x 1 mysql mysql      9356 2009-01-12 09:12 phpbb_posts.frm
-rwxr-xr-x 1 mysql mysql  36309056 2009-01-12 11:49 phpbb_posts.MYD
-rwxr-xr-x 1 mysql mysql  42139648 2009-01-12 11:49 phpbb_posts.MYI
-rwxr-xr-x 1 mysql mysql      8694 2009-01-12 09:12 phpbb_posts_text.frm
-rwxr-xr-x 1 mysql mysql 326084632 2009-01-12 11:51 phpbb_posts_text.MYD
-rwxr-xr-x 1 mysql mysql   8432640 2009-01-12 11:51 phpbb_posts_text.MYI

============================
修正 MediaWiki 的全文中文搜索

mysql> alter table searchindex drop index si_title;
mysql> alter table searchindex drop index si_text;
mysql> alter table searchindex add fulltext(si_title) with Parser scws_parser;
mysql> alter table searchindex add fulltext(si_text) with Parser scws_parser;

ok,在mediawiki中搜索中文就没有问题了。
macrohard
帖子: 147
注册时间: 2008-02-20 9:43
来自: Wuhan
送出感谢: 0
接收感谢: 0

Re: 终于解决本论坛的中文索引问题

#2

帖子 macrohard » 2009-01-12 12:53

UP !

灌水支持
头像
adagio
论坛版主
帖子: 22110
注册时间: 2008-02-17 23:47
来自: 美丽富饶的那啥星球
送出感谢: 7 次
接收感谢: 74 次

Re: 终于解决本论坛的中文索引问题

#3

帖子 adagio » 2009-01-12 12:57

咳咳,一点都看不懂,纯顶!
:em11
明天就换大三八!
——8核CPU、8G内存、8T硬盘……
8卡交火,80寸大屏放8个……
IPv8的光纤要8条……

---------------------------------------------------------------------------------
[图片版]新手当自强(续)FAQ
[新手进阶]挂载、fstab、调整linux分区
[图片版]E17桌面环境配置手把手
头像
mymathersname
帖子: 2870
注册时间: 2008-09-18 23:40
系统: Ubuntu 15.04 x64
来自: Mars
送出感谢: 1 次
接收感谢: 1 次

Re: 终于解决本论坛的中文搜索问题

#4

帖子 mymathersname » 2009-01-12 13:04

没想看懂,不过今天早上一直没上成坛子,难道是oneleaf弄着玩意?!……强就一个字
转移各位校内,百毒朋友,把目标转向twitter和facebook,别总看局域网的内容
其实从那么多的ubuntu发行版和fedora的各个发行版中,我们不难看出,linux的进步是惊人的,从长久的发展规律和更加深远的意义来看,linux桌面版与微软的距离在缩小,这是值得庆幸的……
ubuntu是半年还去偷情一次的初恋。fedora是一生挚爱的正室。debian是和正室同等地位的妾侍。rh/cent是用来偷窥的正室大姐姐。suse是一夜夫妻百二蚊。gentoo是有内涵的才女。arch是久闻其名不敢接触的怪叔叔。其余发行版,我是帝皇它们是屁民,无福宠幸。
头像
hatoyu
帖子: 171
注册时间: 2006-03-16 10:20
来自: http://www.adelaidecartridge.com
送出感谢: 0
接收感谢: 0
联系:

Re: 终于解决本论坛的中文搜索问题

#5

帖子 hatoyu » 2009-01-12 13:31

恭喜阿

Mysql现在是越来越强大了
头像
冲浪板
论坛版主
帖子: 7466
注册时间: 2007-05-06 8:19
送出感谢: 0
接收感谢: 5 次

Re: 终于解决本论坛的中文搜索问题

#6

帖子 冲浪板 » 2009-01-12 13:34

我就说吧,还没人信
头像
woaiwojia
帖子: 1353
注册时间: 2007-09-10 20:20
系统: Debian
来自: 南京
送出感谢: 0
接收感谢: 0

Re: 终于解决本论坛(phpbb3)的中文搜索问题

#7

帖子 woaiwojia » 2009-01-12 13:41

早上应该在忙着吧
头像
qiang_liu8183
论坛版主
帖子: 10687
注册时间: 2006-09-10 22:36
来自: 北京
送出感谢: 1 次
接收感谢: 6 次

Re: 终于解决本论坛(phpbb3)的中文搜索问题

#8

帖子 qiang_liu8183 » 2009-01-12 13:41

“查看新帖”功能是不是也更新了?
看破、放下、自在、随缘、念佛
真诚、清净、平等、正觉、慈悲
头像
planwolf
帖子: 721
注册时间: 2008-08-22 10:47
来自: dg
送出感谢: 0
接收感谢: 0
联系:

Re: 终于解决本论坛(phpbb3)的中文搜索问题

#9

帖子 planwolf » 2009-01-12 13:50

:em11 :em11
头像
璇歌
帖子: 122
注册时间: 2006-11-06 22:53
来自: 贵州大学
送出感谢: 0
接收感谢: 0
联系:

Re: 终于解决本论坛(phpbb3)的中文搜索问题

#10

帖子 璇歌 » 2009-01-12 14:02

索引可能有问题
初学者园地:
viewtopic.php?f=48&t=179947
《使用ubuntu必须用命令行吗? 》
请求的主题不存在。
头像
mymathersname
帖子: 2870
注册时间: 2008-09-18 23:40
系统: Ubuntu 15.04 x64
来自: Mars
送出感谢: 1 次
接收感谢: 1 次

Re: 终于解决本论坛的中文搜索问题

#11

帖子 mymathersname » 2009-01-12 14:04

冲浪板 写了:我就说吧,还没人信
我信,呵呵
转移各位校内,百毒朋友,把目标转向twitter和facebook,别总看局域网的内容
其实从那么多的ubuntu发行版和fedora的各个发行版中,我们不难看出,linux的进步是惊人的,从长久的发展规律和更加深远的意义来看,linux桌面版与微软的距离在缩小,这是值得庆幸的……
ubuntu是半年还去偷情一次的初恋。fedora是一生挚爱的正室。debian是和正室同等地位的妾侍。rh/cent是用来偷窥的正室大姐姐。suse是一夜夫妻百二蚊。gentoo是有内涵的才女。arch是久闻其名不敢接触的怪叔叔。其余发行版,我是帝皇它们是屁民,无福宠幸。
头像
oneleaf
论坛管理员
帖子: 10237
注册时间: 2005-03-27 0:06
系统: Ubuntu 12.04
送出感谢: 7 次
接收感谢: 106 次

Re: 终于解决本论坛(phpbb3)的中文搜索问题

#12

帖子 oneleaf » 2009-01-12 14:18

璇歌 写了:索引可能有问题
初学者园地:
viewtopic.php?f=48&t=179947
《使用ubuntu必须用命令行吗? 》
请求的主题不存在。
顶上的步骤是事后整理的,当然实际过程中走了不少弯路。上面问题是在今天早上6:00-9:00之间,我没有来的及锁论坛,有人发贴,保存了主题,但在保存帖子时,由于表被锁住导致失败,(中间有次执行了一半索引强行关闭mysql),因此出现有主题,但找不到帖子的情况。如果看到,指出来,删除就好,不过帖子就需要重新发了。
头像
Terpineol
帖子: 1230
注册时间: 2007-12-09 14:35
送出感谢: 0
接收感谢: 0

Re: 终于解决本论坛(phpbb3)的中文搜索问题

#13

帖子 Terpineol » 2009-01-12 14:26

老大辛苦辛苦了!
Linux is for human being,love is for human making
yuanlynn
帖子: 12
注册时间: 2007-06-02 9:27
送出感谢: 0
接收感谢: 0

Re: 终于解决本论坛(phpbb3)的中文搜索问题

#14

帖子 yuanlynn » 2009-01-12 14:34

辛苦了,支持版主!! :em11
头像
璇歌
帖子: 122
注册时间: 2006-11-06 22:53
来自: 贵州大学
送出感谢: 0
接收感谢: 0
联系:

Re: 终于解决本论坛(phpbb3)的中文搜索问题

#15

帖子 璇歌 » 2009-01-12 14:44

oneleaf 写了:
璇歌 写了:索引可能有问题
初学者园地:
viewtopic.php?f=48&t=179947
《使用ubuntu必须用命令行吗? 》
请求的主题不存在。
顶上的步骤是事后整理的,当然实际过程中走了不少弯路。上面问题是在今天早上6:00-9:00之间,我没有来的及锁论坛,有人发贴,保存了主题,但在保存帖子时,由于表被锁住导致失败,(中间有次执行了一半索引强行关闭mysql),因此出现有主题,但找不到帖子的情况。如果看到,指出来,删除就好,不过帖子就需要重新发了。
恩,开来这段时间的帖子很多都要删除了....
回复

回到 “论坛管理”