Sphinx + Scws 全文检索引擎方案安装部署

Blaze 2018-12-15

Sphinx是一个基于SQL的全文检索引擎;普遍使用于很多网站;但由于中英文的差异,其本身,对中文的支持并不好。主要是中英文分词方法不一样:英文只需按照空格对其分词即可,中文来说,却是件困难的事情。

在合适的场景,选择合适的方案,得出最优的解。

三种目前最常用的方案Coreseek、Sphinx-for-chinaese、Sphinx+Scws,并对其简单对比:一、Coreseek ;为国人基于Sphinx开发的方案,目前最稳定版,是基于经典的Sphinx0.9.9版

优点:有成熟的文档、以及社区;其分词mmseg为目前国内最为好用分词,索引和搜索分词都可以用到;缺点:深度开发、版本更新较慢;索引较慢策略:一个词库管理后台,维护词库;定期生成字典;此套件会自动分词索引;适用场景:普通青年、搭建差不多的搜索,适用于普遍网站

二、Sphinx-for-chinaese ;为国人2基于经典的Sphinx0.9.9版开发的扩展版优点:部署简单,易操作,内嵌分词和词库,索引和搜索分词都可以用到;缺点:版本更新较慢;分词较弱;索引相对较慢策略:同一适用场景:普通青年、快速搭建搜索的小站

三、

Sphinx+Scws

为两套独立系统,单独部署,所谓高内聚低耦合,强烈推荐优点:两套系统,相对独立,各自单独Server;分词可以做其他用途;版本更新较快;缺点:部署稍复杂,使用稍复杂;索引分词只能用一元分词,数据量较大策略:词库管理外;使用时,先调用分词服务,后调用搜索适用场景:文艺青年、搭建像样点的搜索;好吧文艺青年

一.安装Sphinx:

cd ;/usr/local/src

wget ;http://sphinxsearch.com/files/sphinx-2.1.2-release.tar.gz

tar ;-xzvf ;sphinx-2.1.2-release.tar.gz

cd ;sphinx-2.1.2-release

./configure ;--prefix=/usr/local/sphinx ;--with-mysql ;--with-static-mysql ;

make ;

make ;install

# ;添加到环境变量

echo ;export ;PATH=$PATH:/usr/local/sphinx/bin/ ;>> ;/etc/profile

source ;/etc/profile

安装libsphinxclient:

cd ;api/libsphinxclient

./configure ;--prefix=/usr/local/sphinx/libsphinxclient

make ;&& ;make ;install

安装Sphinx的PHP扩展:

cd ;/usr/local/src

wget ;-c ;http://pecl.php.net/get/sphinx-1.3.0.tgz

tar ;zxvf ;sphinx-1.3.0.tgz

cd ;sphinx-1.3.0

phpize

./configure ;--with-sphinx=/usr/local/sphinx/libsphinxclient ;--with-php-config=/usr/local/php/bin/php-config

make ;&& ;make ;install

echo ;"[Sphinx]" ;>> ;/usr/local/php/etc/php.ini

echo ;"extension ;= ;sphinx.so" ;>> ;/usr/local/php/etc/php.ini

注意:我个人php安装到路径是/usr/local/php,需根据自己情况进行修改配置:

cd ;/usr/local/sphinx/etc

cp ;sphinx.conf.dist ;sphinx.conf

vi ;sphinx.conf

配置文件详解见:测试:

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

scws:

cd ;/usr/local/src

wget ;http://www.xunsearch.com/scws/down/scws-1.2.2.tar.bz2

tar ;xvjf ;scws-1.2.2.tar.bz2

cd ;scws-1.2.2

./configure ;--prefix=/usr/local/scws

make ;&& ;make ;install

scws的PHP扩展安装:

cd ;./phpext

phpize ;

./configure ;--with-php-config=/usr/local/php/bin/php-config

make ;&& ;make ;install

echo ;"[scws]" ;>> ;/usr/local/php/etc/php.ini ;

echo ;"extension ;= ;scws.so" ;>> ;/usr/local/php/etc/php.ini

echo ;"scws.default.charset ;= ;utf-8" ;>> ;/usr/local/php/etc/php.ini

echo ;"scws.default.fpath ;= ;/usr/local/scws/etc/" ;>> ;/usr/local/php/etc/php.ini

词库安装:

cd ;/usr/local/src

wget ;http://www.xunsearch.com/scws/down/scws-dict-chs-utf8.tar.bz2

tar ;jxvf ;scws-dict-chs-utf8.tar.bz2 ;-C ;/usr/local/scws/etc/

chown ;www:www ;/usr/local/scws/etc/dict.utf8.xdb

相关推荐