搭建sphinx服务器的配置实例

发布时间:2020-01-06编辑:脚本学堂
本文介绍下,在linux下搭建sphinx服务器的具体操作步骤,有需要的朋友参考下。

1、环境架构:
ip:192.168.0.200
os:redhat5.4(64位)

2、安装
 

复制代码 代码示例:
#cd /usr/local/src
#yum -y install mysql-devel #安装mysql头文件支持mysql
#wget http://sphinxsearch.com/files/sphinx-0.9.9.tar.gz
#tar -xvzf sphinx-0.9.9.tar.gz
#cd sphinx-0.9.9
#./configure --prefix=/usr/local/sphinx --with-mysql --with-iconv --enable-id64
#make
#make install

3、配置
 

复制代码 代码示例:

   #cd /usr/local/sphinx
   #cp etc/sphinx.conf.dist etc/sphinx.conf
   #vim etc/sphinx.conf                      #修改配置文件
   source goods_src
   {
        type                                    = mysql
        sql_host                                = localhost
        sql_user                                = ecshop
        sql_pass                                = ecshop
        sql_db                                  = ecshop
        sql_port                                = 3306
        sql_sock                                = /tmp/mysql.sock
        sql_query_pre                           = SET NAMES utf8
        sql_query_pre                           = SET SESSION query_cache_type=OFF
        sql_query                               =
                SELECT goods_id,cat_id,goods_sn,goods_name,brand_id,provider_name,goods_number,goods_weight,market_price,shop_price,promote_price,promote_start_date,keywords
                FROM ecs_goods
        sql_attr_multi          = uint gid from query; SELECT goods_id,cat_id FROM ecs_goods
        sql_attr_uint           = brand_id
        sql_attr_float          = market_price
        sql_attr_float          = shop_price
        sql_attr_float          = promote_price
        sql_attr_float          = goods_weight
        sql_attr_str2ordinal    = goods_sn
        sql_attr_str2ordinal    = goods_name
        sql_ranged_throttle     = 100
    }
    index goods
    {
        source                  = goods_src
        path                    = /usr/local/sphinx/var/data/goods
        docinfo                 = extern
        mlock                   = 1
        morphology              = none
        min_stemming_len        = 1
        min_word_len            = 1
        charset_type            = utf-8
        charset_table           = 0..9, A..Z->a..z, _, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F
        ignore_chars            = U+00AD
        ngram_len               = 1
        html_strip              = 0

    }

    indexer
    {
        mem_limit               = 1024M               //建议256到1024之间
    }
    searchd
    {
        listen                  = 9312
        log                     = /usr/local/sphinx/var/log/searchd.log
        query_log               = /usr/local/sphinx/var/log/query.log
        read_timeout            = 5
        client_timeout          = 300
        max_children            = 30
        pid_file                = /usr/local/sphinx/var/log/searchd.pid
        max_matches             = 1000
        seamless_rotate         = 1
        preopen_indexes         = 0
        unlink_old              = 1
        mva_updates_pool        = 1M
        max_packet_size         = 8M
        max_filters             = 256
        max_filter_values       = 4096
    }

4、启动
 

复制代码 代码示例:

#/usr/local/sphinx/bin/indexer --config /usr/local/sphinx/etc/sphinx.conf --all   #创建索引
#/usr/local/sphinx/bin/searchd --config /usr/local/sphinx/etc/sphinx.conf         #启动索引服务

#crontab -e  #加入crontab五分钟重新索引
*/5 * * * */usr/local/sphinx/bin/indexer --config /usr/local/sphinx/etc/sphinx.conf --rotate

如此linux下的sphinx就完成了安装,并配置好了。希望本文可以帮助到大家。