zoukankan      html  css  js  c++  java
  • sphinx安装记录 转

    【转】sphinx服务器安装及配置详解 安装PHP sphinx扩展

     
    1、架构:ip192.168.0.200 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
      






    下面是安装PHP  sphinx扩展

    1、安装

     1、先安装sphinxclient
       #cd /usr/local/src
       #wget http://sphinxsearch.com/files/sphinx-0.9.9.tar.gz
       #tar xzvf sphinx-0.9.9.tar.gz
       #cd sphinx-0.9.9/api/libsphinxclient
       #vim sphinxclient.c                   
        找到
        void sock_close ( int sock );
        改为
        static void sock_close ( int sock );
       #./configure --prefix=/usr/local/sphinxclient
       #make
       #make install
     2、安装sphinx扩展
       #wget http://pecl.php.net/get/sphinx-1.0.4.tgz
       #tar xvzf sphinx-1.0.4.tgz
       #cd sphinx-1.0.4
       #/usr/local/php/bin/phpize
       #./configure --with-php-config=/usr/local/php/bin/php-config --with-sphinx=/usr/local/sphinxclient
       #make
       #make install
       修改php.ini
       extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"
       [sphinx]
       extension=sphinx.so

    2、测试
       1、安装sphinx
          请参照文档http://linux008.blog.51cto.com/2837805/622088
       2、编写测试文件

        #vim sphinx.php
        <?php
         $s = new SphinxClient;
         setServer("localhost", 9312);
         $s->setMatchMode(SPH_MATCH_ANY);
         $s->setMaxQueryTime(3);
         $result = $s->query("demo");
         var_dump($result);
        ?>
        #/usr/local/php/bin/php sphinx.php   运行结果
        array(9) {
      ["error"]=>
      string(0) ""
      ["warning"]=>
      string(0) ""
      ["status"]=>
      int(0)
      ["fields"]=>
      array(5) {
        [0]=>
        string(6) "cat_id"
        [1]=>
        string(13) "provider_name"
        [2]=>
        string(12) "goods_number"
        [3]=>
        string(18) "promote_start_date"
        [4]=>
        string(8) "keywords"
      }
      ["attrs"]=>
      array(8) {
        ["goods_sn"]=>
        string(1) "3"
        ["goods_name"]=>
        string(1) "3"
        ["brand_id"]=>
        string(1) "1"
        ["goods_weight"]=>
        string(1) "5"
        ["market_price"]=>
        string(1) "5"
        ["shop_price"]=>
        string(1) "5"
        ["promote_price"]=>
        string(1) "5"
        ["gid"]=>
        string(10) "1073741825"
      }
      ["total"]=>
      int(0)
      ["total_found"]=>
      int(0)
      ["time"]=>
      float(0)
      ["words"]=>
      array(1) {
        ["demo"]=>
        array(2) {
          ["docs"]=>
          int(0)
          ["hits"]=>
          int(0)
        }
      }
    }



    原文地址:
    sphinx服务器安装及配置详解:http://linux008.blog.51cto.com/2837805/622088

    http://linux008.blog.51cto.com/2837805/622171
  • 相关阅读:
    将16进制的颜色值变成UIColor
    验证邮箱地址方法
    iOS 推送通知详解
    在UITextView中添加placeholder
    移除所有子视图removeAllSubviews
    如何书写高质量的jQuery代码
    reset.css
    CSS3笔记
    10个可以直接拿来用的JQuery代码片段
    js定时器
  • 原文地址:https://www.cnblogs.com/brady-wang/p/6089845.html
Copyright © 2011-2022 走看看