mysql sphinxse_centos sphinx mysql安装配置sphinxse及全文索引的简单实现

以下步骤以linux centos5.3系统下为基础

1.安装centos5.3,步骤省略(网上教程大把)。不过要提醒大家一句的就是安装系统自带软件时最好不要选mysql

要不然你会很麻烦的,不多说了,你懂的。

2.通过yum命令安装必须的环境软件。

yum install gcc gcc-c++ libtool autoconf automake imake mysql-devel libxml2-devel expat-devel

yum install -y python python-devel

3.下载相关软件

这里将使用以下版本

mysql:mysql-5.1.52.tar.gz

sphinx:sphinx-0.9.9.tar.gz

coreseek:coreseek-3.2.13.tar.gz

cd /usr/local/src   讲所需软件都下载到此目录下

wget http://downloads.mysql.com/archives/mysql-5.1/mysql-5.1.52.tar.gz -c

wget http://www.sphinxsearch.com/downloads/sphinx-0.9.9.tar.gz -c

wget http://www.coreseek.cn/uploads/csft/3.2/coreseek-3.2.13.tar.gz -c

都下载完后就解压缩

tar -zxv -f mysql-5.1.52.tar.gz

tar -zxv -f sphinx-0.9.9.tar.gz

tar -zxv -f coreseek-3.2.13.tar.gz

在解压后的mysql-5.1.52文件夹下创建sphinx目录 为编译安装sphinxSE做准备

mkdir /usr/local/src/mysql-5.1.52/storage/sphinx

将sphinx-0.9.9/mysqlse/* 下的所有文件拷贝到 mysql-5.1.52/storage/sphinx/ 下

cp /usr/local/src/sphinx-0.9.9/mysqlse/* /usr/local/src/mysql-5.1.52/storage/sphinx/

cd /usr/local/src/mysql-5.1.52/

sh BUILD/autorun.sh 这一步是安装编译前的检查工作

运行玩是没有任何显示和输出的。如有错误,网上另行找对策。我到这里是没有错的。现在开始与设置编译

./configure –prefix=/usr/local/mysql –with-charset=utf8 –with-extra-charset=all

–enable-thread-safe-client –enable-assembler –with-readline –with-big-tables

–with-named-curses-libs=/usr/lib/libncursesw.so.5  –with-plugins=sphinx

确认无错误报告后继续下一步,如有错误网上找对策。不要抱侥幸心理。。。你懂的。

make && make install

编译安装成功后对mysql进行些初始化工作,如下:

groupadd mysql #添加mysql用户组

useradd -g mysql mysql #创建mysql用户并把它放到mysql组下

chown -R root:mysql /usr/local/mysql #修改mysql文件属性

/usr/local/mysql/bin/mysql_install_db –user=mysql –datadir=/usr/local/mysql/var

chown -R mysql /usr/local/mysql/var #修改属性

cp /root/mysql-5.1.52/support-files/mysql.server /etc/init.d/

chmod 700 /etc/init.d/mysql.server #修改权限

cp /root/mysql-5.1.52/support-files/my-medium.cnf /etc/my.cnf

/etc/init.d/mysql.server start #启动

/etc/init.d/mysql.server stop #停止

/etc/init.d/mysql.server start #启动

登陆mysql 初始密码是为空的  所以提示输入密码时直接回车就好。

/usr/local/mysql/bin/mysql -u root -p -S /tmp/mysql.sock

show engines; #查看mysql引擎,就会看到 SPHINX引擎,如下:

mysql> show engines;

+————+———+———————————————————–+————–+——+————+

| Engine     | Support | Comment                                                   | Transactions | XA   | Savepoints |

+————+———+———————————————————–+————–+——+————+

| CSV        | YES     | CSV storage engine                                        | NO           | NO   | NO         |

| SPHINX     | YES     | Sphinx storage engine 0.9.9                               | NO           | NO   | NO         |

| MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables | NO           | NO   | NO         |

| MyISAM     | DEFAULT | Default engine as of MySQL 3.23 with great performance    | NO           | NO   | NO         |

| MRG_MYISAM | YES     | Collection of identical MyISAM tables                     | NO           | NO   | NO         |

+————+———+———————————————————–+————–+——+————+

5 rows in set (0.01 sec)

看到了SPHINX了么? YES 你成功了。咱们继续。。。如果没看到。。。网上找对策。。。

到这一步mysql以及sphinxSE支持就安装完毕了。接下来就是sphinx的安装和运行测试。

进入到sphinx的源码文件夹(即sphinx解压后的sphinx-0.9.9下),运行下列命令就可以安装sphinx了:

ldconfig /usr/local/mysql/lib/mysql

ldconfig /usr/local/mysql/include/mysql

./configure –prefix=/usr/local/sphinx –with-mysql=/usr/local/mysql

make && make install

其中–prefix是指向sphinx的安装路径,–with-mysql是指向mysql的安装路径。

如果上面都没有报错,那sphinx就成功安装了。

sphinx的配置文件为sphinx.conf,下面进行配置:

cd /usr/local/sphinx/etc

cp sphinx.conf.dist sphinx.conf

vim sphinx.conf

进入修改它的一些数据库的配置,主要是修改数据库地址,数据库用户、密码,

还有数据库名这些,这里我们用安装mysql自带的test库进行测试。

导入数据

/usr/local/mysql/bin/mysql -u mysql < /usr/local/sphinx/etc/example.sql

locate libmysqlclient    #运行该命令找到关于libmysqlclient.so.16的文件

cp /usr/local/mysql/lib/mysql/libmysqlclient.so.16 /usr/lib/libmysqlclient.so.16

#然后把该文件的一个连接复制到在环境变量的文件夹/usr/lib/下

/usr/local/sphinx/bin/indexer –all #创建索引

/usr/local/sphinx/bin/search test   #检索‘test’

结果我就不说了,你懂的。到这里sphinx的安装和运行测试已完。没出错的同志咱们继续。。。

sphinx不支持中文分词,国内也有人写了好多个分词组件,本文就讲安装LibMMSeg,

它是Coreseek为 Sphinx 全文搜索引擎设计的中文分词软件包,

其在GPL协议下发行的中文分词法,采用Chih-Hao Tsai的MMSEG算法。

cd /usr/local/src/

cd coreseek-3.2.13/mmseg-3.2.13/ #进入到mmseg所在文件夹,然后编译

./configure –prefix=/usr/local/mmseg

编译过程中报了一个config.status: error: cannot find input file: src/Makefile.in这个的错误,

然后运行下列指令再次编译就能通过了:

aclocal

libtoolize –force

automake –add-missing

autoconf

autoheader

make clean

然后再进行编译和安装:

./configure –prefix=/usr/local/mmseg

make && make install

把mmseg的命令加到环境变量中,然后运行mmseg,就能看到安装成功的信息了:

ln -s /usr/local/mmseg/bin/mmseg /bin/mmseg

mmseg

安装成功信息如下:

Coreseek COS(tm) MM Segment 1.0

Copyright By Coreseek.com All Right Reserved.

Usage: mmseg

-u           Unigram Dictionary

-r           Combine with -u, used a plain text build Unigram Dictionary, default Off

-b           Synonyms Dictionary

-t          Thesaurus Dictionary

-h            print this help and exit

到此全文搜索引擎中文分词软件包LibMMSeg就安装完毕了。

Sphinx是一个在GPLv2下分发的全文检索引擎;Coreseek 是一个可供企业使用的、

基于Sphinx(可独立于Sphinx原始版本运行)的中文全文检索引擎,按照GPLv2协议发行,

商业使用(例如, 嵌入到其他程序中)需要联系我们以获得商业授权。

一般而言,Sphinx是一个独立的全文搜索引擎;而Coreseek是一个支持中文的全文搜索引擎,

意图为其他应用提供高速、低空间占用、高结果相关度的中文全文搜索能力。

Sphinx/Coreseek可以非常容易的与SQL数据库和脚本语言集成。

Coreseek是也就是LibMMSeg和sphinx的结合,在sphinx0.9.9之前,

要安装LibMMSeg的中文分词都要给sphinx打上中文补丁然后再安装,到这0.9.9,

他们就把sphinx和LibMMSeg结合在一起提供中文搜索服务,不在以补丁的形式提供。

进入coreseek的目录下进行安装:

cd /usr/local/src/coreseek-3.2.13/csft-3.2.13/

./configure –prefix=/usr/local/coreseek –with-mysql=/usr/local/mysql

–with-mmseg=/usr/local/mmseg –with-mmseg-includes=/usr/local/mmseg/include/mmseg/

–with-mmseg-libs=/usr/local/mmseg/lib/

make && make install

这里的安装跟上面sphinx一样的,就是加入了LibMMseg分词,安装完创建测试数据,

创建搜索配置文件csft.conf,过程跟安装测试sphinx一样,但是创建索引时报了一个这样的错误:

FATAL: index ‘test1′: ‘synonyms’: failed to open ‘/data/exceptions.txt’,

进入配置文件csft.conf,把/data/exceptions.txt注释掉即可,创建完索引,运行测试OK。

要进行中文分词搜索请在配置文件中加入

charset_dictpath = /usr/local/mmseg/etc/

修改charset_type= zh_cn.utf-8

注意:charset_dictpath = /usr/local/mmseg/etc/  放 charset_type= zh_cn.utf-8之上。

http://www.itokit.com/2010/1130/30134.html

http://v9.help.phpcms.cn/html/2010/search_0919/35.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值