亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

php啟用sphinx全文搜索的實現方法

2024-05-04 23:29:19
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了php啟用sphinx全文搜索的實現方法,詳細講述了sphinx相關的配置與使用技巧,具有一定的參考借鑒價值,需要的朋友可以參考下
 
 

本文實例講述了php啟用sphinx全文搜索的實現方法。分享給大家供大家參考。具體分析如下:

在編譯安裝 sphinx 的時候出現很多中文亂碼,最后拋出錯誤卡住了,我去到官方直接下載一個 rpm 包,安裝就很爽,具體錯誤不想研究了,忙開發呢.

安裝兩個包,一個是 mmseg 這個是生成中文字典的程序,一個是  csft 也就是中國版的sphinx .

rpm -ivh 安裝完以后,很順利~~不到半分鐘就裝完了.

中文字典庫,我直接去 csft 官方下載了,挺好的想得很周到.

unigram.txt  uni.lib

unigram.txt  字典文本,可以在里面添加你自己的關鍵字.

然后使用:mmseg -u unigram.txt 生成字典文件:unigram.txt.uni 然后重命名一下  uni.lib 這個就是sphinx 認識的字典了.

放哪里?放你在 sphinx.conf 里面配置的字典路徑里面,等會說到,然后基本就差不多了,在看下sphinx 幾個實用的程序:

復制代碼代碼如下:
[root@beihai365 /]# csft-

 

csft-indexer  csft-search   csft-searchd

 

csft-indexer  是生成全文搜索索引的 程序

csft-search  是測試搜索是否生效用的,也很好用,不如我還沒用客戶端腳本開發,就可以用這個來查看全文搜索是否成功

csft-searchd  這個就是 sphinx 搜索的守護程序了。 啟動以后,就可以用腳本 php python 等,開查詢了。

就那么簡單,在看下關鍵的兩部分東西.

sphinx.conf 配置文件:

復制代碼代碼如下:
source tmsgs    
{    
        type                                    = mysql    
        sql_host                                = localhost    
        sql_user                                = root    
        sql_pass                                = 1    
        sql_db                                  = phpwind75sp3    
        sql_port                                = 3306  # optional, default is 3306    
        #sql_sock                                = /tmp/mysql3307.sock    
        sql_query_pre                           = SET NAMES gbk    
        sql_query                               = SELECT id,name,type,stock FROM pw_tools    
        #sql_attr_uint                          = id    
        sql_attr_uint                           = stock    
}    
   
index tmsgsindex    
{    
        source                                  = tmsgs    
        path                                    = /var/mmseg/searchdata/beihai365    
        docinfo                                 = extern    
        charset_type                            = zh_cn.gbk    
        #min_prefix_len  = 0    
        #min_infix_len  = 2    
        #ngram_len = 2    
        charset_dictpath                        = /var/mmseg/data    
        #min_prefix_len                          = 0    
        #min_infix_len                           = 0    
        #min_word_len                            = 2    
}    
   
indexer    
{    
        mem_limit                               = 128M    
}    
   
searchd    
{    
        #listen                                = 3312    
        log                                 = /var/log/searchd.log    
        query_log                           = /var/log/query.log    
        read_timeout                        = 5    
        max_children                        = 30    
        pid_file                            = /var/log/searchd.pid    
        max_matches                         = 1000    
        #seamless_rotate                     = 1    
        #preopen_indexes                     = 0    
        #unlink_old                          = 1    
}   
source tmsgs 

        type                                    = mysql 
        sql_host                                = localhost 
        sql_user                                = root 
        sql_pass                                = 1 
        sql_db                                  = phpwind75sp3 
        sql_port                                = 3306  # optional, default is 3306 
        #sql_sock                                = /tmp/mysql3307.sock 
        sql_query_pre                           = SET NAMES gbk 
        sql_query                               = SELECT id,name,type,stock FROM pw_tools 
        #sql_attr_uint                          = id 
        sql_attr_uint                           = stock 

index tmsgsindex 

        source                                  = tmsgs 
        path                                    = /var/mmseg/searchdata/beihai365 
        docinfo                                 = extern 
        charset_type                            = zh_cn.gbk 
        #min_prefix_len  = 0 
        #min_infix_len  = 2 
        #ngram_len = 2 
        charset_dictpath                        = /var/mmseg/data 
        #min_prefix_len                          = 0 
        #min_infix_len                           = 0 
        #min_word_len                            = 2 

indexer 

        mem_limit                               = 128M 

searchd 

        #listen                                = 3312 
        log                                 = /var/log/searchd.log 
        query_log                           = /var/log/query.log 
        read_timeout                        = 5 
        max_children                        = 30 
        pid_file                            = /var/log/searchd.pid 
        max_matches                         = 1000 
        #seamless_rotate                     = 1 
        #preopen_indexes                     = 0 
        #unlink_old                          = 1 
}

再看一下,測試客戶端代碼:
復制代碼代碼如下:
<?php    
    header("Content-type:text/html;charset=utf-8");    
    include 'sphinxapi.php';    
    $cl = new SphinxClient();    
    $cl->SetServer('localhost',3312);    
    $cl->SetMatchMode(SPH_MATCH_ALL);    
    $cl->SetArrayResult(true);    
    $res = $cl->Query("名卡","*");    
    print_r($res);    
?>   
<?php 
header("Content-type:text/html;charset=utf-8"); 
include 'sphinxapi.php'; 
$cl = new SphinxClient(); 
$cl->SetServer('localhost',3312); 
$cl->SetMatchMode(SPH_MATCH_ALL); 
$cl->SetArrayResult(true); 
$res = $cl->Query("名卡","*"); 
print_r($res); 
?>

“名卡”這個關鍵字是我自己手動在字典里面添加的,看是否能真的搜到,實例代碼如下:
復制代碼代碼如下:
Array    
(    
    [error] =>     
    [warning] =>     
    [status] => 0    
    [fields] => Array    
        (    
            [0] => name    
            [1] => type    
        )    
   
    [attrs] => Array    
        (    
            [stock] => 1    
        )    
   
    [matches] => Array    
        (    
            [0] => Array    
                (    
                    [id] => 8    
                    [weight] => 1    
                    [attrs] => Array    
                        (    
                            [stock] => 100    
                        )    
                )    
        )    
    [total] => 1    
    [total_found] => 1    
    [time] => 0.018    
    [words] => Array    
        (    
            [名卡] => Array    
                (    
                    [docs] => 1    
                    [hits] => 1    
                )    
        )    
)   
Array 

    [error] =>  
    [warning] =>  
    [status] => 0 
    [fields] => Array 
        ( 
            [0] => name 
            [1] => type 
        ) 
    [attrs] => Array 
        ( 
            [stock] => 1 
        ) 
    [matches] => Array 
        ( 
            [0] => Array 
                ( 
                    [id] => 8 
                    [weight] => 1 
                    [attrs] => Array 
                        ( 
                            [stock] => 100 
                        ) 
                ) 
        ) 
    [total] => 1 
    [total_found] => 1 
    [time] => 0.018 
    [words] => Array 
        ( 
            [名卡] => Array 
                ( 
                    [docs] => 1 
                    [hits] => 1 
                ) 
        ) 
)

完全沒問題,搜索出來了,幾個關鍵的操作:
[root@beihai365 /]# csft-searchd --stop 停止搜索守護

 

[root@beihai365 /]# csft-indexer --all 針對所有節點生成索引,你也可以針對某個節點生成索引比如:csft-indexer  xx

[root@beihai365 /]# csft-search App 搜索關鍵字 App,不過看下面信息沒有搜到和沒有命中任何的文檔.

Coreseek Full Text Server 3.1 
Copyright (c) 2006-2008 coreseek.com 
using config file './csft.conf'... 
1, 
pt:1, 1;        index 'tmsgsindex': query 'App ': returned 0 matches of 0 total in 0.017 sec 
words: 
1. 'app': 0 documents, 0 hits 
當大家在運行這些命令的時候發現,需要你自己手動的置頂 --config  sphinx.conf   配置文件的路徑,很不方便,所以我干脆 ln -s 一個在 ./,這樣不用每次都去敲入  --config.

希望本文所述對大家的php程序設計有所幫助。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人性生交大片免费看视频直播| 国产有码一区二区| 日韩欧美成人精品| 亚洲人成毛片在线播放| 欧美在线日韩在线| 免费97视频在线精品国自产拍| 国产精品白丝jk喷水视频一区| 欧美大片欧美激情性色a∨久久| 2024亚洲男人天堂| 欧美影院在线播放| 在线视频日本亚洲性| 色先锋久久影院av| 亚洲色图偷窥自拍| 三级精品视频久久久久| 91精品久久久久久久| 欧美韩国理论所午夜片917电影| 国模精品视频一区二区| 亚洲大胆人体视频| 国产精品99久久久久久白浆小说| 日韩精品在线视频观看| 久久久精品一区二区| 久久久成人的性感天堂| 黑人精品xxx一区| 国产精品9999| 亚洲欧美激情另类校园| 日韩欧美一区二区在线| 欧美久久精品一级黑人c片| 欧美激情区在线播放| 久久精品视频在线观看| 国产精品极品尤物在线观看| 国产99久久久欧美黑人| 欧美丰满少妇xxxx| 欧美成人精品激情在线观看| 91久久嫩草影院一区二区| 国产精品中文在线| 午夜精品久久久99热福利| 91免费视频网站| 亚洲成人久久久久| 欧美在线性爱视频| 日本韩国在线不卡| 欧美日韩国产区| 激情懂色av一区av二区av| 欧美一级淫片播放口| 亚洲精品91美女久久久久久久| 久久精品国产欧美亚洲人人爽| 国产精品入口尤物| 国产精品中文字幕久久久| 欧美精品电影免费在线观看| 青草青草久热精品视频在线网站| 日本中文字幕成人| 日韩在线视频免费观看高清中文| 国产亚洲视频中文字幕视频| 日韩av在线一区| 91美女福利视频高清| 久久久久久久久久国产| 久久免费视频网| 国产精品免费久久久久久| 亚洲精品一区二区网址| 国语自产精品视频在免费| 亚洲视频在线视频| 国产情人节一区| 8x拔播拔播x8国产精品| 538国产精品一区二区免费视频| 欧美国产日韩精品| 国内揄拍国内精品少妇国语| 欧美亚洲视频一区二区| 欧美大人香蕉在线| 欧美性猛交99久久久久99按摩| 午夜精品国产精品大乳美女| 亚洲欧美日韩在线高清直播| 亚洲大胆人体视频| 欧美午夜无遮挡| 久久人人爽人人| 国产乱肥老妇国产一区二| 亚洲free性xxxx护士hd| 久久久国产精品亚洲一区| 久久久久五月天| 欧洲日本亚洲国产区| 国内精品400部情侣激情| 国产精品三级网站| 亚洲人高潮女人毛茸茸| 欧美成人一区在线| 日韩av在线直播| 久久综合久久八八| 97香蕉超级碰碰久久免费的优势| 久久成人人人人精品欧| 亚洲日本中文字幕免费在线不卡| 蜜臀久久99精品久久久无需会员| 日韩激情av在线免费观看| 亚洲欧美国产日韩天堂区| 亚洲精品久久久久中文字幕二区| 亚洲午夜色婷婷在线| 国产91露脸中文字幕在线| 久久久久久久影视| 亚洲国产精品va在看黑人| 亚洲成人xxx| 亚洲国产精品久久精品怡红院| 成人97在线观看视频| 欧美精品成人91久久久久久久| 国产欧美日韩精品在线观看| 精品自在线视频| 久久91亚洲精品中文字幕奶水| 国产高清在线不卡| 日韩a**中文字幕| 久久久精品国产网站| 国产经典一区二区| 亚洲一区二区久久| 69影院欧美专区视频| 久久综合亚洲社区| 欧美激情免费看| 38少妇精品导航| 亚洲精品成人网| 国产欧美va欧美va香蕉在线| 亚洲精品v天堂中文字幕| 亚洲人成网站999久久久综合| 亚洲欧美国产视频| 成人中文字幕在线观看| 久久99青青精品免费观看| 亚州av一区二区| 国产精品扒开腿做爽爽爽的视频| 亚洲精品国产欧美| 久久久免费在线观看| 精品国产一区二区三区四区在线观看| 亚洲综合色av| 久久久视频免费观看| 亚洲黄色www| 欧美日韩福利电影| 欧美成人免费网| 国产精品极品尤物在线观看| 亚洲美腿欧美激情另类| 亚洲欧美日韩天堂一区二区| 亚洲最新在线视频| 国产精品自产拍在线观看| 久久精品福利视频| 欧美综合国产精品久久丁香| 久久视频在线观看免费| 久久在精品线影院精品国产| 久久成年人视频| 亚洲欧美日韩精品久久亚洲区| 欧美性猛交xxxx免费看久久久| 丝袜美腿亚洲一区二区| 欧美激情亚洲一区| 日本一区二三区好的精华液| 日韩av影视综合网| 亚洲精品免费在线视频| 91精品国产精品| 中文字幕少妇一区二区三区| 在线日韩中文字幕| 欧美激情精品久久久久久大尺度| 2020欧美日韩在线视频| 欧美性xxxxx极品娇小| 热re99久久精品国产66热| 精品国产一区二区三区久久狼5月| 亚洲综合在线中文字幕| 日韩成人网免费视频| 日韩最新在线视频| 最近中文字幕mv在线一区二区三区四区| 青草热久免费精品视频| 在线视频免费一区二区| 国产成人激情视频| 国产成人精品a视频一区www| 欧美激情免费在线| 久久久极品av| 国产精品免费久久久|