这篇文章上次修改于 3412 天前,可能其部分内容已经发生变化,如有疑问可询问作者。

1.所需安装包

 coreseek-3.2.14

下载地址:

  wget http://www.coreseek.cn/uploads/csft/3.2/coreseek-3.2.14.tar.gz

2.安装coreseek开发的mmseg,为coreseek提供中文分词功能

$ cd mmseg-3.2.14
$ ./bootstrap
$ ./configure --prefix=/usr/local/mmseg3
$ make && make install

安装完成后,mmseg使用的词典和配置文件,将自动安装到/usr/local/mmseg3/etc中

中文分词测试,如果显示不正常,请检查当前环境下的locale和UTF-8中文字符显示设置

/usr/local/mmseg3/bin/mmseg -d /usr/local/mmseg3/etc src/t1.txt
    中文/x 分/x 词/x 测试/x 
    中国人/x 上海市/x 

Word Splite took: 1 ms.

3.安装mysql基础以来库

yum install mysql-devel libxml2-devel expat-devel

4.安装coreseek:

$ cd csft-3.2.14

 执行configure,进行编译配置:

$ sh buildconf.sh
$ ./configure --prefix=/usr/local/coreseek --without-python --without-unixodbc 
--with-mmseg --with-mmseg-includes=/usr/local/mmseg3/include/mmseg/
--with-mmseg-libs=/usr/local/mmseg3/lib/ --with-mysql $ make && make install


如果出现错误提示:“ERROR: cannot find MySQL include files.......To disable MySQL support, use --without-mysql option.“,可按照如下方法处理

##请找到头文件mysql.h所在的目录,一般是/usr/local/mysql/include,请替换为实际的
##请找到库文件libmysqlclient.a所在的目录,一般是/usr/local/mysql/lib,请替换为实际的
##configure参数加上:--with-mysql-includes=/usr/local/mysql/include 
--with-mysql-libs=/usr/local/mysql/lib,执行后,重新编译安装

5.coreseek中文全文检索测试

$  /usr/local/coreseek/bin/indexer -c etc/csft.conf --all
##以下为正常索引全部数据时的提示信息:(csft-4.0版类似)
    Coreseek Fulltext 3.2 [ Sphinx 0.9.9-release (r2117)]
    Copyright (c) 2007-2010,
    Beijing Choice Software Technologies Inc (http://www.coreseek.com)

     using config file 'etc/csft.conf'...
    indexing index 'xml'...
    collected 3 docs, 0.0 MB
    sorted 0.0 Mhits, 100.0% done
    total 3 docs, 7585 bytes
    total 0.075 sec, 101043 bytes/sec, 39.96 docs/sec
    total 2 reads, 0.000 sec, 5.6 kb/call avg, 0.0 msec/call avg
    total 7 writes, 0.000 sec, 3.9 kb/call avg, 0.0 msec/call avg
$  /usr/local/coreseek/bin/searchd -c etc/csft.conf
##以下为正常开启搜索服务时的提示信息:(csft-4.0版类似)
    Coreseek Fulltext 3.2 [ Sphinx 0.9.9-release (r2117)]
    Copyright (c) 2007-2010,
    Beijing Choice Software Technologies Inc (http://www.coreseek.com)

    using config file 'etc/csft.conf'...
    listening on all interfaces, port=9312
##如要停止搜索服务,请使用/usr/local/coreseek/bin/searchd -c etc/csft.conf --stop
##如要已启动服务,要更新索引,请使用/usr/local/coreseek/bin/indexer -c etc/csft.conf --all --rotate