sphinx安裝記錄 轉

【轉】sphinx服務器安裝及配置詳解 安裝PHP sphinx擴展

 
一、架構:ip192.168.0.200 redhat5.4(64位) 二、安裝    #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 三、配置    #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     } 四、啓動    #/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擴展 一、安裝  一、先安裝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  二、安裝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 二、測試    一、安裝sphinx       請參照文檔http://linux008.blog.51cto.com/2837805/622088    二、編寫測試文件     #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
相關文章
相關標籤/搜索