在前文 中,介绍了Discuz!NT引入SPHINX的背景和相应的客户端的C#代码架构实现。今天这篇文章将 会介绍如果在LINUX环境下安装配置SPHINX中文搜索工具,也就是服务器配置方案.
目前在网络上可以找到的SPHINX中文插件主要有两个:
1.coreseek: http://www.coreseek.cn/
2.sfc: http://code.google.com/p/sphinx-for-chinese/
其中的coreseek是目前对Discuz(PHP版)支持做的比较好的插件,它提供了相应的工具和源码包来尽可能简化sphinx的安装和配置。大家 可从网上找到很多相关信息。
今天本文要说的是使用sfc来安装配置sphinx,呵呵:)
linux环境:centos 5.4 (需要安装gcc编译器来编译SPHINX源代码)
因为SPHINX要访问MYSQL数据库,所以如果机器上没有安装MYSQL,可以使用下面命令进行安装:
[root@localhost ~]# yum install -y automake autoconf
下面开始安装SPHINX(sfc 插件):
[root@localhost src]# wget http://sphinx-for-chinese.googlecode.com/files/sphinx-for-chinese-0.9.9-r2117.tar.gz
[root@localhost src]# tar zxvf sphinx-for-chinese-0.9.9-r2117.tar.gz
[root@localhost local]# cd sphinx-for-chinese-0.9.9-r2117
[root@localhost sphinx- for-chinese-0.9.9-r2117]# ./configure --prefix=/usr/local/sphinx --with- mysql #注意:这里sphinx已经默认支持了mysql,也可用--without-mysql来取消mysql
[root@localhost sphinx- for-chinese-0.9.9-r2117]# make && make install # 其中的“警告”可以忽略
到这里,基本就是完成了SPHINX的下载安装过程。
下面开始下载中文字典文档:
[root@localhost bin]# wget http://sphinx-for-chinese.googlecode.com/files/xdict_1.1.tar.gz
[root@localhost bin]# tar zxvf xdict_1.1.tar.gz
[root@localhost bin]#./mkdict xdict_1.1.txt xdict # 注:mkdict是sfc自有的
这样就从xdict_1.1.txt文件生了xdict词典。
因为要在SPHINX中使用增量索引,因为参照官方文档中提供的思路,在指定的MYSQL数据库中创建增量统计表:
CREATE TABLE sphcounter(counterid INTEGER PRIMARY KEY NOT NULL ,max_doc_id INTEGER NOT NULL );
接着就是创建Sphinx主索引文件、增量索引文件存放目录:
[root@localhost ~]#mkdir /usr/local/sphinx/var/data/dnt_posts1stemmed/
然后编辑usr/local/sphinx/etc/sphinx.conf文件:
[root@localhost etc] vi sphinx.conf
内容如下: