CoreSeek在nginx安装过程

2018-01-18  本文已影响0人  鸿雁长飞光不度

1.先更新或者安装所依赖的工具

 yum install make gcc g++ automake libtool mysql-client libmysqlclient15-dev libxml2-dev libexpat1-dev
image.png

2.安装分词模块,下载coreseek-3.2.14.tar.gz文件到 /usr/local/src目录并解压

cd /usr/local/src

tar zxvf coreseek-3.2.14.tar.gz #解压

cd coreseek-3.2.14

cd mmseg-3.2.14

./bootstrap #输出的warning信息可以忽略,如果出现error则需要解决

./configure --prefix=/usr/local/mmseg3 #后面安装完成后在这个目录下有东西

make && make install 

3.安装CoreSeek

cd /usr/local/src
cd coreseek-3.2.14
cd csft-3.2.14
sh buildconf.sh    #输出的warning信息可以忽略,如果出现error则需要解决
./configure --prefix=/usr/local/coreseek  --without-unixodbc --with-mmseg --with-mmseg-includes=/usr/local/mmseg3/include/mmseg/ --with-mmseg-libs=/usr/local/mmseg3/lib/ --with-mysql  #配置
make  #编译
make install  #安装

这里gcc的版本是4.8.5安装会有个bug,需要用补丁文件打个补丁。
补丁下载地址:http://blog.51cto.com/nbaiwan/1196392,有两个文件

patch -p1 < sphinxexpr.cpp-csft-3.2.13.patch
#然后输入路径
/usr/local/src/coreseek-3.2.14/csft-3.2.14/src/sphinxexpr.cpp

然后再重新执行configure,make,make install,还是有下面的错误


image.png

然后

vim /src/MakeFile
将
LIBS = -lm -lexpat -L/usr/local/lib
改成
LIBS = -lm -lexpat -liconv -L/usr/local/lib

成功后测试mmseg分词、coreseek搜索、MySQL数据源

cd /usr/local/src
cd coreseek-3.2.14
cd testpack
cat /usr/local/src/coreseek-3.2.14/testpack/var/test/test.xml    #此时应该正确显示中文,如下图所示
image.png

测试结果显示如下正常

/usr/local/mmseg3/bin/mmseg  -d  /usr/local/mmseg3/etc  /usr/local/src/coreseek-3.2.14/testpack/var/test/test.xml
/usr/local/coreseek/bin/indexer -c /usr/local/src/coreseek-3.2.14/testpack/etc/csft.conf --all
/usr/local/coreseek/bin/search -c /usr/local/src/coreseek-3.2.14/testpack/etc/csft.conf 网络搜索

image.png

填写自己的coreseek配置文件

cp  /usr/local/src/coreseek-3.2.14/testpack/etc/csft_mysql.conf  /usr/local/coreseek/etc/csft_mysql.conf  #拷贝MySQL数据源配置文件
ln -s  /usr/local/coreseek/etc/csft_mysql.conf  /etc/csft_mysql.conf  #添加软连接

根据需要编辑csft_mysql.conf,然后根据配置文件生成索引

/usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/csft_mysql.conf --all
image.png

然后安装php的sphinx扩展

下载下面这文件,用wget出错,可以手动在浏览器下载。

http://git.php.net/?p=pecl/search_engine/sphinx.git;a=snapshot;h=9a3d08c67af0cad216aa0d38d39be71362667738;sf=tgz,得到sphinx-9a3d08c.tar.gz文件

tar zxvf sphinx-9a3d08c.tar.gz
 cd sphinx-9a3d08c
 phpize #这里的phpize如果有多个php要指定手动选择确定的php
 ./configure 
 make && make install

然后如果提示

image.png

需要进入coreseek源码目录下安装sphinxclient库,然后重复上一步。

cd /usr/local/src/coreseek-3.2.14/csft-3.2.14/api/libsphinxclient/ 
./configure 
 make && make install

执行测试,观察信息,有错自己排查,比如下面的proc_open函数被禁用,需要在php.ini文件里面删除被禁用的函数。

make test
image.png

最后在php.ini中增加extension = sphinx.so,然后重启php

service php-fpm restart

后面就可以根据业务需求在php中使用Sphinx高速的获取数据了

参考如下:
http://blog.csdn.net/dl425134845/article/details/51005184
http://blog.csdn.net/xueling022/article/details/52881228
https://www.cnblogs.com/zhangyabin---acm/p/5926054.html
https://segmentfault.com/a/1190000005019591

上一篇 下一篇

猜你喜欢

热点阅读