糯米文學吧

位置:首頁 > 計算機 > php語言

php啟用sphinx全文搜索的方法

php語言2.13W

主要介紹了php啟用sphinx全文搜索的實現方法,詳細講述了sphinx相關的配置與使用技巧,具有一定的參考借鑑價值,需要的朋友可以參考下。

php啟用sphinx全文搜索的方法

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

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

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

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

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

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

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

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

複製代碼 代碼如下:

[root@beihai365 /]# csft-

csft-indexer csft-search csft-searchd

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

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

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

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

配置文件:

複製代碼 代碼如下:

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/

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_

#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/

query_log = /var/log/

read_timeout = 5

max_children = 30

pid_file = /var/log/

max_matches = 1000

#seamless_rotate = 1

#preopen_indexes = 0

#unlink_old = 1

}

source tmsgs

{

type = mysql

sql_host = localhost

sql_user = root

標籤:PHP sphinx 啟用 全文