Sphinx(Coreseek)

本文详细介绍如何在服务器上安装并配置Coreseek全文检索系统,包括安装必要的软件包、MMSeg中文分词器及Coreseek源码编译等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 yum install -y python python-devel
2
3 wget http://www.coreseek.cn/uploads/csft/3.1/Source/mmseg-3.1.tar.gz
4 wget http://www.coreseek.cn/uploads/csft/3.1/Source/csft-3.1.tar.gz
5
6 tar zxvf mmseg-3.1.tar.gz -C /usr/local/src/
7 tar zxvf csft-3.1.tar.gz -C /usr/local/src/

接下来,安装MMSeg中文分词包,其在GPL协议下发行的中文分词法,采用Chih-Hao Tsai的MMSEG算法,切分速度大约在300K/s(PM- 1.2G)。当然你也可以根 据自己的业务需要,选择其他特定的分词包。
view source
print?
1 cd /usr/local/src/mmseg-3.1/
2 ./configure --prefix=/usr/local/mmseg
3 make
4 make install

安装完毕之后,我们需要做一些配置文件的修改,否则很可能在后面安装coreseek的时候编译失败。我们先手工修改 /usr/local/mmseg/include/mmseg/freelist.h文件。
view source
print?
1 vi /usr/local/mmseg/include/mmseg/freelist.h
2 #添加如下内容
3 #include
4

我们开始编译coreseek的全文检索服务的源码,仅仅编译,暂时不要执行安装。
view source
print?
1 cd /usr/local/src/csft-3.1/
2 ./configure --prefix=/usr/local/coreseek --with-python --with-mysql --with-mmseg-includes=/usr/local/mmseg/include/mmseg --with-mmseg-libs=/usr/local/mmseg/lib/

现在是比较关键的一步,首先检查系统内是否安装libiconv包,如果没有安装,可以参阅本博客的另一篇文章VPS配置LNMP笔记(三) PHP篇。安装完毕 之后,修改csft-3.1目录下的src/Makefile文件,找到 LIBS = -lm -lexpat -L/usr/local/lib 修改为 LIBS = -lm -lexpat -liconv -L/usr/local/lib,然后执行make && make install完成coresseek的安装。

接下来,我们安装全文检索分词的词库,通过之前的mmseg生成字典。
view source
print?
1 mkdir /usr/local/coreseek/dict
2 cd /usr/local/src/mmseg-3.1/data/
3 /usr/local/mmseg/bin/mmseg -u unigram.txt
4 cp unigram.txt.uni /usr/local/coreseek/dict/uni.lib

建立sphinx的配置文件,具体的配置参数此处略过,请详细参考coreseek的手册
view source
print?
1 cp /usr/local/coreseek/etc/sphinx.conf.dist /usr/local/coreseek/etc/sphinx.conf
2 vi /usr/local/coreseek/etc/sphinx.conf

将sphinx命令配置到系统环境中,并加载mysql的lib,否则可能会导致sphinx启动时提示找不到mysql服务
view source
print?
1 vi /etc/profile
2 #添加下一行
3 export PATH=/usr/local/coreseek/bin:$PATH
4 #保存后执行source 导入
5 source /etc/profile
6
7 vi /etc/ld.so.conf
8 #添加下一行
9 /usr/local/mysql/lib/mysql

建立开机启动sphinx服务,此处一定要加入--pidfile文件,以免shell自启动找不到进程pid。
view source
print?
1 vi /etc/rc.local
2 /usr/local/coreseek/bin/searchd --config /usr/local/coreseek/etc/sphinx.conf --pidfile

创建每日凌晨1点自动更新索引脚本:
view source
print?
1 vi /usr/local/coreseek/bin/build_index.sh
2 /usr/local/coreseek/bin/indexer --config /usr/local/coreseek/etc/sphinx.conf --all --rotate
3 #修改文件执行权限
4 chmod +x /usr/local/coreseek/bin/build_index.sh
5 #修改crontab
6 crontab -e
7 00 01 * * * /bin/bash /usr/local/coreseek/bin/build_index.sh

这样,我们就已经将coreseek(sphinx)安装完毕,在开发过程中,只需要将/usr/local/src/csft-3.1/api /sphinxapi.php文件引入项目,就可以使用sphinx的API进行搜索查询。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值