Sphinx+SphinxSE+MySQL安装步骤

摘要

Sphinx Search 是由俄罗斯人Andrew Aksyonoff 开发的高性能全文搜索软件包,在GPL与商业协议双许可协议下发行。
Sphinx的特征:
•Sphinx支持高速建立索引(可达10MB/秒,而Lucene建立索引的速度是1.8MB/秒)
•高性能搜索(在2-4 GB的文本上搜索,平均0.1秒内获得结果)
•高扩展性(实测最高可对100GB的文本建立索引,单一索引可包含1亿条记录)
•支持分布式检索
•支持基于短语和基于统计的复合结果排序机制
•支持任意数量的文件字段(数值属性或全文检索属性)
•支持不同的搜索模式(“完全匹配”,“短语匹配”和“任一匹配”)
•支持作为Mysql的存储引擎

系统环境:centos 5.5
使用软件:sphinx、sphinxse、mysql、mmegs
1、安装python支持(以下针对CentOS系统,其他Linux系统请使用相应的方法安装)
yum install python python-devel     如果你的系统中已经安装支持了python,则不需要执行这步。
2、编译安装LibMMSeg(LibMMSeg是为Sphinx全文搜索引擎设计的中文分词软件包,其在GPL协议下发行的中文分词法,采用Chih-Hao Tsai的MMSEG算法。LibMMSeg在本文中用来生成中文分词词库。)

以下压缩包“sphinx-0.9.8-rc2-chinese.zip”中包含mmseg-0.7.3.tar.gz、sphinx-0.9.8-rc2.tar.gz以及中文分词补丁。

 下载sphinx-0.98

unzip sphinx-0.9.8-rc2-chinese.zip
tar zxvf mmseg-0.7.3.tar.gz
cd mmseg-0.7.3/
./configure
make 
make install
cd ../

3、编译安装MySQL-5.1.45 、Sphinx、SphinxSE存储引擎
wget http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.45.tar.gz/from/http://mirror.x10.com/mirror/mysql/
tar zxvf mysql-5.1.45.tar.gz

tar zxvf sphinx-0.9.8-rc2.tar.gz
cd sphinx-0.9.8-rc2/
patch -p1 < ../sphinx-0.98rc2.zhcn-support.patch
patch -p1 < ../fix-crash-in-excerpts.patch
cp -rf mysqlse ../mysql-5.1.45/storage/sphinx
cd ../

cd mysql-5.1.45/     
sh BUILD/autorun.sh

检查sphinx引擎,进入到mysql目录,运行./configure -h命令,提示: 
    === Sphinx Storage Engine ===

  Plugin Name:      sphinx

  Description:      Sphinx Storage Engines

  Supports build:   static and dynamic

  Configurations:   max, max-no-ndb     如出现如上信息,表明OK,断续运行下面的命令。

./configure –with-plugins=sphinx –prefix=/usr/local/mysql/ –enable-assembler –with-extra-charsets=complex –enable-thread-safe-client –with-big-tables –with-readline –with-ssl –with-embedded-server –enable-local-infile    
编译mysql时,当你的ncurse库没有安装 提示:configure: error: No curses/termcap library found 
make && make install
groupadd mysql
useradd -g mysql mysql

#cd /usr/local/mysql
#bin/mysql_install_db –user=mysql
#chown -R root .
#chown -R mysql var
#chgrp -R mysql .
#cp /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysqld
启动MYSQL:/etc/rc.d/init.d/mysqld start
#/bin/mysqld_safe –user=root & 在后台启动mysql 
bin/mysql -p 连接myql 

进入mysql 在mysql中输入命令show engines;  

mysql> show engines;
+————+———+———————————————————–+————–+——+————+
| Engine     | Support | Comment                                                   | Transactions | XA   | Savepoints |
+————+———+—————
——————————————–+————–+——+————+
| CSV        | YES     | CSV storage engine                                        | NO           | NO   | NO         |
| SPHINX     | YES     | Sphinx storage engine 0.9.8                               | 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.00 sec)
表明sphinx已经OK,至此安装完成mysql


cd sphinx-0.9.8-rc2/
CPPFLAGS=-I/usr/include/python2.4
LDFLAGS=-lpython2.4
./configure –prefix=/usr/local/sphinx –with-mysql=/usr/local/mysql
make
make install
cd ../

mv /usr/local/sphinx/etc/sphinx.conf-dist /usr/local/sphinx/etc/sphinx.conf
 vi /usr/local/sphinx/etc/sphinx.conf 编辑sphinx的配置文件,修改mysql数据源信息,
运行 /usr/local/sphinx/bin/indexer test  提示“error while loading shared libraries: libmysqlclient.so.16: cannot open shared object file: No such file or directory” 

解决方法:在/etc/ld.so.conf里面加入下面2行:
/usr/local/mysql/lib/mysql
/usr/local/lib
用/sbin/ldconfig -v重新加载库文件 

 

Sphinx Search 是由俄罗斯人Andrew Aksyonoff 开发的高性能全文搜索软件包,在GPL与商业协议双许可协议下发行。
Sphinx的特征:
•Sphinx支持高速建立索引(可达10MB/秒,而Lucene建立索引的速度是1.8MB/秒)
•高性能搜索(在2-4 GB的文本上搜索,平均0.1秒内获得结果)
•高扩展性(实测最高可对100GB的文本建立索引,单一索引可包含1亿条记录)
•支持分布式检索
•支持基于短语和基于统计的复合结果排序机制
•支持任意数量的文件字段(数值属性或全文检索属性)
•支持不同的搜索模式(“完全匹配”,“短语匹配”和“任一匹配”)
•支持作为Mysql的存储引擎

系统环境:centos 5.5
使用软件:sphinx、sphinxse、mysql、mmegs
1、安装python支持(以下针对CentOS系统,其他Linux系统请使用相应的方法安装)
yum install python python-devel     如果你的系统中已经安装支持了python,则不需要执行这步。
2、编译安装LibMMSeg(LibMMSeg是为Sphinx全文搜索引擎设计的中文分词软件包,其在GPL协议下发行的中文分词法,采用Chih-Hao Tsai的MMSEG算法。LibMMSeg在本文中用来生成中文分词词库。)

以下压缩包“sphinx-0.9.8-rc2-chinese.zip”中包含mmseg-0.7.3.tar.gz、sphinx-0.9.8-rc2.tar.gz以及中文分词补丁。

 下载sphinx-0.98

unzip sphinx-0.9.8-rc2-chinese.zip
tar zxvf mmseg-0.7.3.tar.gz
cd mmseg-0.7.3/
./configure
make 
make install
cd ../

3、编译安装MySQL-5.1.45 、Sphinx、SphinxSE存储引擎
wget http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.45.tar.gz/from/http://mirror.x10.com/mirror/mysql/
tar zxvf mysql-5.1.45.tar.gz

tar zxvf sphinx-0.9.8-rc2.tar.gz
cd sphinx-0.9.8-rc2/
patch -p1 < ../sphinx-0.98rc2.zhcn-support.patch
patch -p1 < ../fix-crash-in-excerpts.patch
cp -rf mysqlse ../mysql-5.1.45/storage/sphinx
cd ../

cd mysql-5.1.45/     
sh BUILD/autorun.sh

检查sphinx引擎,进入到mysql目录,运行./configure -h命令,提示: 
    === Sphinx Storage Engine ===

  Plugin Name:      sphinx

  Description:      Sphinx Storage Engines

  Supports build:   static and dynamic

  Configurations:   max, max-no-ndb     如出现如上信息,表明OK,断续运行下面的命令。

./configure --with-plugins=sphinx --prefix=/usr/local/mysql/ --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-big-tables --with-readline --with-ssl --with-embedded-server --enable-local-infile    
编译mysql时,当你的ncurse库没有安装 提示:configure: error: No curses/termcap library found 
make && make install
groupadd mysql
useradd -g mysql mysql

#cd /usr/local/mysql
#bin/mysql_install_db --user=mysql
#chown -R root .
#chown -R mysql var
#chgrp -R mysql .
#cp /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysqld
启动MYSQL:/etc/rc.d/init.d/mysqld start
#/bin/mysqld_safe --user=root & 在后台启动mysql 
bin/mysql -p 连接myql 

进入mysql 在mysql中输入命令show engines;  

mysql> show engines;
+------------+---------+-----------------------------------------------------------+--------------+------+------------+
| Engine     | Support | Comment                                                   | Transactions | XA   | Savepoints |
+------------+---------+---------------
--------------------------------------------+--------------+------+------------+
| CSV        | YES     | CSV storage engine                                        | NO           | NO   | NO         |
| SPHINX     | YES     | Sphinx storage engine 0.9.8                               | 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.00 sec)
表明sphinx已经OK,至此安装完成mysql


cd sphinx-0.9.8-rc2/
CPPFLAGS=-I/usr/include/python2.4
LDFLAGS=-lpython2.4
./configure --prefix=/usr/local/sphinx --with-mysql=/usr/local/mysql
make
make install
cd ../

mv /usr/local/sphinx/etc/sphinx.conf-dist /usr/local/sphinx/etc/sphinx.conf
 vi /usr/local/sphinx/etc/sphinx.conf 编辑sphinx的配置文件,修改mysql数据源信息,
运行 /usr/local/sphinx/bin/indexer test  提示“error while loading shared libraries: libmysqlclient.so.16: cannot open shared object file: No such file or directory” 

解决方法:在/etc/ld.so.conf里面加入下面2行:
/usr/local/mysql/lib/mysql
/usr/local/lib
用/sbin/ldconfig -v重新加载库文件 

 

您可以选择一种方式赞助本站

支付宝转账赞助

支付宝扫一扫赞助

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

图片 表情