Skip to main content

安装Coreseek中文全文检索

--

安装Coreseek中文全文检索

先运行这些

yum install glibc make gcc g++ gcc-c++ libtool autoconf automake imake mysql-devel libxml2-devel expat-devel

先清除以往autoconf

yum erase autoconf

卸载后会发现libtool也被卸载了,会出现如下错误

configure.in:26: error: possibly undefined macro: AM_PROG_LIBTOOL
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.

解决办法:

wget http://mirror.bjtu.edu.cn/gnu/libtool/libtool-2.4.2.tar.gz
./configure
make
make install

autoconf 安装

tar xzvf autoconf-2.64.tar.gz
cd autoconf-2.64
./configure
make
make install
tar xzvf automake-1.11.2.tar.gz
cd automake-1.11.2
./configure
make
make install

下载coreseek:coreseek 3.2.14:点击下载、coreseek 4.0.1:点击下载、coreseek 4.1:点击下载

$ wget http://www.coreseek.cn/uploads/csft/3.2/coreseek-3.2.14.tar.gz
$ 或者 http://www.coreseek.cn/uploads/csft/4.0/coreseek-4.0.1-beta.tar.gz
$ 或者 http://www.coreseek.cn/uploads/csft/4.0/coreseek-4.1-beta.tar.gz
$ tar xzvf coreseek-3.2.14.tar.gz 或者 coreseek-4.0.1-beta.tar.gz 或者 coreseek-4.1-beta.tar.gz
$ cd coreseek-3.2.14 或者 coreseek-4.0.1-beta 或者 coreseek-4.1-beta

前提:需提前安装操作系统基础开发库及mysql依赖库以支持mysql数据源和xml数据源

安装mmseg

$ cd mmseg-3.2.14
$ ./bootstrap #输出的warning信息可以忽略,如果出现error则需要解决
$ ./configure –prefix=/usr/local/mmseg3
$ make && make install
$ cd ..

安装coreseek

$ cd csft-3.2.14 或者 cd csft-4.0.1 或者 cd csft-4.1
$ 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 ##如果提示mysql问题,可以查看MySQL数据源安装说明
$ make && make install
$ cd ..

测试mmseg分词,coreseek搜索(需要预先设置好字符集为zh_CN.UTF-8,确保正确显示中文)

$ cd testpack
$ cat var/test/test.xml #此时应该正确显示中文
$ /usr/local/mmseg3/bin/mmseg -d /usr/local/mmseg3/etc var/test/test.xml
$ /usr/local/coreseek/bin/indexer -c etc/csft.conf –all
$ /usr/local/coreseek/bin/search -c etc/csft.conf 网络搜索

启动sphinx搜索

/usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/csft_mysql.conf –all
/usr/local/coreseek/bin/searchd -c /usr/local/coreseek/etc/csft_mysql.conf

如果报错

WARNING: index ‘mysql’: preload: failed to open var/data/mysql.sph: No such file or directory; NOT SERVING
FATAL: no valid indexes to serve

解决 新建立索引

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

更改 mysql的问题 stock路径问题,需要在my.cnf更改

/var/lib/mysql/mysql.sock
vim /etc/my.cnf
#socket = /tmp/mysql.sock
socket = /var/lib/mysql/mysql.sock

防火墙问题 关闭防火墙

启动

/usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/csft_mysql.conf –all
/usr/local/coreseek/bin/searchd -c /usr/local/coreseek/etc/csft_mysql.conf

保证跨机器访问,关闭防火墙

service iptables stop

出现这个 xmlpipe2 support NOT compiled in. To use xmlpipe2, install missing XML libra 错误 执行以下命令:

yum -y install expat expat-devel

依次安装后,从新编译coreseek,然后再生成索引,就可以通过了。

http://blog.csdn.net/e421083458/article/details/21529969 下面开始sphinx与mysql的配置

创建sphinx统计表,在coreseek_test库中执行。

CREATE TABLE sph_counter
(
counter_id INTEGER PRIMARY KEY NOT NULL,
max_doc_id INTEGER NOT NULL
);

创建配置sphinx与mysql的配置文件

vi /usr/local/coreseek/etc/csft_mysql.conf