设为首页
收藏本站
淘宝精选
开启辅助访问
登录
注册后绑定Q登陆
手机号登录
手机号码,快捷登录
微信登录
QQ登录
快捷导航
发布信息
搜索
搜索
支持我们
使用96IE来支持论坛
首页
任务
勋章
签到
签到等于每天打卡
导读
邀请码
装机必备的软件、去广告版
装机助手
装机网
精品操作系统下载
免费邀请码
记录
Doing
每日签到
本版
帖子
用户
PCOS技术网
»
首页
›
≡技术交流≡
›
电脑技术交流
›
浅谈MYSQL的全文检索的应用
返回列表
发新帖
查看:
510
|
回复:
2
浅谈MYSQL的全文检索的应用
[复制链接]
amwdnuff
amwdnuff
当前离线
积分
10395266
IP卡
狗仔卡
签到天数: 2626 天
连续签到: 5 天
[LV.Master]至尊海神IIIIII
发表于 2009-6-2 17:39
|
广东
|
显示全部楼层
|
阅读模式
浅谈MYSQL的全文检索的应用
环境:LINUX MYSQL4/5(5以上的版本直接可以在插件形式编译进MYSQL内)
使用MYSQL的朋友一定有这样的经历,那就是在检索中文的时候往往力不从心。使用LIKE的效率实在不敢恭维,而且对搜索的结果也不是很满意的。 很希望有一个完美的解决方案。但是事实的真相是残酷的。这个完美的方案可能让你绞尽脑汁还是两手空空。
今天我给大家带来的 MYSQL中文分词全文检索 可能会让您有一种相见恨晚的感觉。
下面开始讲解:
在猪肉还是7块多的时候,我在CU里闲逛。突然看到一个大板(HIGHTMAN)的帖子。(我不记得地址了-______-).
大致内容就是修改MYSQL的源码。加入中文分词功能。原理依据的是一个强大的中文词典。(详细可进该大牛主页hightman.cn查看)
所以我得声明一下。该功能的版权归HIGHTMAN大牛所有。本人不涉及版权问题。
可喜的是该牛的MYSQL修改版是在GPL发放的。所在大家不用担心(除非你想自己打磨-______-)。
好啰嗦啊,扯了大半天还没到正题。我也觉得我自己好啰嗦,黄金又涨价了,哎。牛奶都从46涨到了65一箱了。
----------------------OH YEAH SO HOT!----------------------------
开始:
cd/ /home/apps
wget
http://www.hightman.cn/down/mysql-5.1.11-hi1.tgz
tar zxf mysql-5.1.11-hi1.tgz
cd mysql-5.1.11-hi1
#开始编译,加入分词插件
./configure --prefix=/usr/local/mysql --with-charset=gbk --with-extra-charsets=all --with-plugins=fthightman
make
make install
#你如果嫌麻烦也可以 make && make install 该过程比较漫长(取决于机器性能了)
#复制my.cnf到
系统
启动项
cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf
#增加mysql用户组
groupadd mysql
useradd -g mysql mysql
#初始化
cd /usr/local/mysql
bin/mysql_install_db --user=mysql |注:--user=mysql 初始化表并且规定用mysql用户
#设置给mysql和root用户设定访问权限 我们先进入mysql目录
cd /usr/local/mysql
chown -R root /usr/local/mysql |注:设定root能访问/usr/local/mysq
chown -R mysql /usr/local/mysql/var |注:设定mysql用户能访问/usr/local/mysql/var
chgrp -R mysql /usr/local/mysql |注:设定mysql组能够访问/usr/local/mysq
bin/mysqld_safe --user=mysql & |启动之
#设定开机就启动mysql,进入源码目录下
cd /usr/local/mysql/share/mysql
cp mysql.server /etc/init.d/mysql
cd /etc/rc3.d
ln -s ../init.d/mysql S85mysql
ln -s ../init.d/mysql K85mysql
cd /etc/rc5.d
ln -s ../init.d/mysql S85mysql
ln -s ../init.d/mysql K85mysql
cd ../init.d
chmod 755 mysql
#rc3.d rc5.d明白是怎么回事吧。不懂的自己补习去。
重启 mysqld 服务器
whereis mysql
/etc/init.d/mysql
service mysql
/etc/init.d/mysql start|stop|restart
#以下的情况我们假定您已经有了APCHE PHP环境。
开始:
注意。MYSQL默认的字符编码是GBK。所以在这里建的表最好也是GBK的UTF8的需要改一下MYSQL默认编码再进行如下操作
DATABASEB1
show databases;
use db1;
#DB1里有个表叫TABLE1
TABLE1 字段为:
aid
gid
uid
atitle
acontent
请注意。atitle,acontent 这两个里面放的是我们需要检索的内容。
PCOS系统下载站:http://zhuangji.wang
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
抢沙发
千斤顶
显身卡
amwdnuff
amwdnuff
当前离线
积分
10395266
IP卡
狗仔卡
签到天数: 2626 天
连续签到: 5 天
[LV.Master]至尊海神IIIIII
楼主
|
发表于 2009-6-2 17:39
|
广东
|
显示全部楼层
浅谈MYSQL的全文检索的应用
浅谈MYSQL的全文检索的应用
环境:LINUX MYSQL4/5(5以上的版本直接可以在插件形式编译进MYSQL内)
使用MYSQL的朋友一定有这样的经历,那就是在检索中文的时候往往力不从心。使用LIKE的效率实在不敢恭维,而且对搜索的结果也不是很满意的。 很希望有一个完美的解决方案。但是事实的真相是残酷的。这个完美的方案可能让你绞尽脑汁还是两手空空。
今天我给大家带来的 MYSQL中文分词全文检索 可能会让您有一种相见恨晚的感觉。
下面开始讲解:
在猪肉还是7块多的时候,我在CU里闲逛。突然看到一个大板(HIGHTMAN)的帖子。(我不记得地址了-______-).
大致内容就是修改MYSQL的源码。加入中文分词功能。原理依据的是一个强大的中文词典。(详细可进该大牛主页hightman.cn查看)
所以我得声明一下。该功能的版权归HIGHTMAN大牛所有。本人不涉及版权问题。
可喜的是该牛的MYSQL修改版是在GPL发放的。所在大家不用担心(除非你想自己打磨-______-)。
好啰嗦啊,扯了大半天还没到正题。我也觉得我自己好啰嗦,黄金又涨价了,哎。牛奶都从46涨到了65一箱了。
----------------------OH YEAH SO HOT!----------------------------
开始:
cd/ /home/apps
wget
http://www.hightman.cn/down/mysql-5.1.11-hi1.tgz
tar zxf mysql-5.1.11-hi1.tgz
cd mysql-5.1.11-hi1
#开始编译,加入分词插件
./configure --prefix=/usr/local/mysql --with-charset=gbk --with-extra-charsets=all --with-plugins=fthightman
make
make install
#你如果嫌麻烦也可以 make && make install 该过程比较漫长(取决于机器性能了)
#复制my.cnf到系统启动项
cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf
#增加mysql用户组
groupadd mysql
useradd -g mysql mysql
#初始化
cd /usr/local/mysql
bin/mysql_install_db --user=mysql |注:--user=mysql 初始化表并且规定用mysql用户
#设置给mysql和root用户设定访问权限 我们先进入mysql目录
cd /usr/local/mysql
chown -R root /usr/local/mysql |注:设定root能访问/usr/local/mysq
chown -R mysql /usr/local/mysql/var |注:设定mysql用户能访问/usr/local/mysql/var
chgrp -R mysql /usr/local/mysql |注:设定mysql组能够访问/usr/local/mysq
bin/mysqld_safe --user=mysql & |启动之
#设定开机就启动mysql,进入源码目录下
cd /usr/local/mysql/share/mysql
cp mysql.server /etc/init.d/mysql
cd /etc/rc3.d
ln -s ../init.d/mysql S85mysql
ln -s ../init.d/mysql K85mysql
cd /etc/rc5.d
ln -s ../init.d/mysql S85mysql
ln -s ../init.d/mysql K85mysql
cd ../init.d
chmod 755 mysql
#rc3.d rc5.d明白是怎么回事吧。不懂的自己补习去。
重启 mysqld 服务器
whereis mysql
/etc/init.d/mysql
service mysql
/etc/init.d/mysql start|stop|restart
#以下的情况我们假定您已经有了APCHE PHP环境。
开始:
注意。MYSQL默认的字符编码是GBK。所以在这里建的表最好也是GBK的UTF8的需要改一下MYSQL默认编码再进行如下操作
DATABASEB1
show databases;
use db1;
#DB1里有个表叫TABLE1
TABLE1 字段为:
aid
gid
uid
atitle
acontent
请注意。atitle,acontent 这两个里面放的是我们需要检索的内容。
PCOS系统下载站:http://zhuangji.wang
回复
支持
反对
使用道具
举报
显身卡
amwdnuff
amwdnuff
当前离线
积分
10395266
IP卡
狗仔卡
签到天数: 2626 天
连续签到: 5 天
[LV.Master]至尊海神IIIIII
楼主
|
发表于 2009-6-2 17:39
|
广东
|
显示全部楼层
浅谈MYSQL的全文检索的应用
浅谈MYSQL的全文检索的应用
环境:LINUX MYSQL4/5(5以上的版本直接可以在插件形式编译进MYSQL内)
使用MYSQL的朋友一定有这样的经历,那就是在检索中文的时候往往力不从心。使用LIKE的效率实在不敢恭维,而且对搜索的结果也不是很满意的。 很希望有一个完美的解决方案。但是事实的真相是残酷的。这个完美的方案可能让你绞尽脑汁还是两手空空。
今天我给大家带来的 MYSQL中文分词全文检索 可能会让您有一种相见恨晚的感觉。
下面开始讲解:
在猪肉还是7块多的时候,我在CU里闲逛。突然看到一个大板(HIGHTMAN)的帖子。(我不记得地址了-______-).
大致内容就是修改MYSQL的源码。加入中文分词功能。原理依据的是一个强大的中文词典。(详细可进该大牛主页hightman.cn查看)
所以我得声明一下。该功能的版权归HIGHTMAN大牛所有。本人不涉及版权问题。
可喜的是该牛的MYSQL修改版是在GPL发放的。所在大家不用担心(除非你想自己打磨-______-)。
好啰嗦啊,扯了大半天还没到正题。我也觉得我自己好啰嗦,黄金又涨价了,哎。牛奶都从46涨到了65一箱了。
----------------------OH YEAH SO HOT!----------------------------
开始:
cd/ /home/apps
wget
http://www.hightman.cn/down/mysql-5.1.11-hi1.tgz
tar zxf mysql-5.1.11-hi1.tgz
cd mysql-5.1.11-hi1
#开始编译,加入分词插件
./configure --prefix=/usr/local/mysql --with-charset=gbk --with-extra-charsets=all --with-plugins=fthightman
make
make install
#你如果嫌麻烦也可以 make && make install 该过程比较漫长(取决于机器性能了)
#复制my.cnf到系统启动项
cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf
#增加mysql用户组
groupadd mysql
useradd -g mysql mysql
#初始化
cd /usr/local/mysql
bin/mysql_install_db --user=mysql |注:--user=mysql 初始化表并且规定用mysql用户
#设置给mysql和root用户设定访问权限 我们先进入mysql目录
cd /usr/local/mysql
chown -R root /usr/local/mysql |注:设定root能访问/usr/local/mysq
chown -R mysql /usr/local/mysql/var |注:设定mysql用户能访问/usr/local/mysql/var
chgrp -R mysql /usr/local/mysql |注:设定mysql组能够访问/usr/local/mysq
bin/mysqld_safe --user=mysql & |启动之
#设定开机就启动mysql,进入源码目录下
cd /usr/local/mysql/share/mysql
cp mysql.server /etc/init.d/mysql
cd /etc/rc3.d
ln -s ../init.d/mysql S85mysql
ln -s ../init.d/mysql K85mysql
cd /etc/rc5.d
ln -s ../init.d/mysql S85mysql
ln -s ../init.d/mysql K85mysql
cd ../init.d
chmod 755 mysql
#rc3.d rc5.d明白是怎么回事吧。不懂的自己补习去。
重启 mysqld 服务器
whereis mysql
/etc/init.d/mysql
service mysql
/etc/init.d/mysql start|stop|restart
#以下的情况我们假定您已经有了APCHE PHP环境。
开始:
注意。MYSQL默认的字符编码是GBK。所以在这里建的表最好也是GBK的UTF8的需要改一下MYSQL默认编码再进行如下操作
DATABASEB1
show databases;
use db1;
#DB1里有个表叫TABLE1
TABLE1 字段为:
aid
gid
uid
atitle
acontent
请注意。atitle,acontent 这两个里面放的是我们需要检索的内容。
PCOS系统下载站:http://zhuangji.wang
回复
支持
反对
使用道具
举报
显身卡
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册后绑定Q登陆
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页