Linux下Coreseek(sphinx中文版)的安装和使用

时间:2017-04-14作者:klpeng分类:数据库浏览:1584评论:0

安装相关依赖:

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

本文介绍安装稳定版3.2.14版本,(很难找下载地址了,官网不更新了,下载好像也不能用)

wget http://www.coreseek.cn/uploads/csft/3.2/coreseek-3.2.14.tar.gz
tar zxf coreseek-3.2.14.tar.gz
cd coreseek-3.2.14
cd mmseg-3.2.14/    #这是中文分词
./bootstrap
./configure --prefix=/usr/local/mmseg
make && make install
cd ../csft-3.2.14/  #安装coreseek
sh buildconf.sh
./configure --prefix=/usr/local/coreseek  --without-unixodbc --with-mmseg --with-mmseg-includes=/usr/local/mmseg/include/mmseg/ --with-mmseg-libs=/usr/local/mmseg/lib/ --with-mysql
make && make install

安装完成后配置数据源

cd /usr/local/coreseek/etc
cp sphinx-min.conf.dist klpeng.conf
vim klpeng.conf

下面以我的配置文件为例,把博客里面的文章做索引,方便全文搜索:

#
# Minimal Sphinx configuration sample (clean, simple, functional)
#

source klpost
{
        type                                    = mysql

        sql_host                                = localhost
        sql_user                                = root
        sql_pass                                =
        sql_db                                  = blog_klpeng
        sql_port                                = 3306 
        sql_query_pre                           = SET NAMES utf8
        sql_query                               = \
                SELECT log_ID, log_Title, log_Content, log_PostTime  FROM kl_post

        sql_attr_uint                           = log_ID
        sql_attr_timestamp                      = log_PostTime

        sql_query_info                          = SELECT log_ID, log_Title, log_Content log_PostTime  FROM kl_post WHERE log_ID=$id
        sql_query_info_pre                      = SET NAMES utf8
}


index kpost
{
        source                                  = klpost
        path                                    = /usr/local/coreseek/var/data/kpost
        docinfo                                 = extern
        mlock =0
        morphology = none
        min_word_len =1
        html_strip =0

        charset_type = zh_cn.utf-8
        charset_dictpath = /usr/local/mmseg/etc/
}


indexer
{
        mem_limit                               = 32M
}


searchd
{
        port                                    = 9312
        log                                     = /usr/local/coreseek/var/log/searchd.log
        query_log                               = /usr/local/coreseek/var/log/query.log
        read_timeout                            = 5
        max_children                            = 30
        pid_file                                = /usr/local/coreseek/var/log/searchd.pid
        max_matches                             = 1000
        seamless_rotate                         = 1
        preopen_indexes                         = 0
        unlink_old                              = 1
        #workers                                = threads  #版本4.0以上的配置参数
}

然后创建索引文件

/usr/local/coreseek/bin/indexer -c klpeng.conf -all

Linux下Coreseek(sphinx中文版)的安装和使用

测试一下查找 “PHP扩展示例”

/usr/local/bin/search -c klpeng.conf -a PHP扩展示例

Linux下Coreseek(sphinx中文版)的安装和使用


下面开启searchd服务,方便用API调用

/usr/local/coreseek/bin/searchd -c /usr/local/coreseek/etc/klpeng.conf

正确启动如下图:

Linux下Coreseek(sphinx中文版)的安装和使用

停止搜索服务:

/usr/local/coreseek/bin/searchd -c /usr/local/coreseek/etc/klpeng.conf --stop

已启动服务更新索引:

/usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/klpeng.conf --all --rotate

安装和使用的简单示例就是这样了。


原创文章如转载,请注明出处,本文首发于彭超的博客

打赏
文章版权声明:除非注明,否则均为彭超的博客原创文章,转载或复制请以超链接形式并注明出处。
相关推荐

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

猜你喜欢