shpinx / coreseek 安裝配置教程
來源:程序員人生 發布時間:2015-01-17 09:55:23 閱讀次數:2828次
sphinx是1個專業的開源搜索引擎,但不支持中文。coreseek相當于sphinx的中文版,使用了mmseg3來支持中文分詞。雖然coreseek里面的shpinx版本很低,目前穩定版的coreseek 3.2.14自帶的shpinx只有0.9.9,但還用就行。很多教程中,先安裝shpinx的最新版,再安裝coreseek,這個,不知道是怎樣傳的,反正這么安裝是完全沒必要的。
我使用的環境是CentOS 7
coreseek官方網站是http://www.coreseek.cn,有很全面的資料。
http://sphinxsearch.com 是shpinx的官網,但新版本差別很大,基本就不用看了。
1. 下載
$ wget http://www.coreseek.cn/uploads/csft/3.2/coreseek⑶.2.14.tar.gz
2. 解緊縮
$ tar xzvf coreseek⑶.2.14.tar.gz
3. 安裝mmseg
$ cd mmseg⑶.2.14
$ ./bootstrap #輸出的warning信息可以疏忽,如果出現error則需要解決
$ ./configure --prefix=/usr/local/mmseg3
$ make && make install
$ cd ..
4. 修改coreseek
由于新版本的gcc改動很大,所以需要修改coreseek的幾處代碼,在解緊縮出的coreseek⑶.2.14目錄下,可以找到文件sphinxexpr.cpp
搜索// 'this' fixes gcc braindamage可以找到3處 T val = ExprEval ( this->m_pArg, tMatch ); // 'this' fixes gcc braindamage
修改成
T val = this->ExprEval ( this->m_pArg, tMatch ); // 'this' fixes gcc braindamage
否則會出現編譯毛病。
5. 好了,可以正式的安裝coreseek了,在這之前,請保證你的mysql或mariadb安裝正常,否則這1步沒法配置數據源為mysql
$ cd csft⑶.2.14 或 cd csft⑷.0.1 或 cd csft⑷.1
$ sh buildconf.sh #輸出的warning信息可以疏忽,如果出現error則需要解決
$ ./configure --prefix=/usr/local/coreseek --without-unixodbc --with-mmseg --with-mmseg-includes=/usr/local/mmseg3/include/mmseg/ --with-mmseg-libs=/usr/local/mmseg3/lib/ --with-mysql ##如果提示mysql問題,可以查看MySQL數據源安裝說明
$ make && make install
$ cd ..
6. 測試
如果上1步沒有毛病,這里就能夠開始基礎測試了,
$ cd testpack
$ cat var/test/test.xml #此時應當正確顯示中文
$ /usr/local/mmseg3/bin/mmseg -d /usr/local/mmseg3/etc var/test/test.xml
$ /usr/local/coreseek/bin/indexer -c etc/csft.conf --all
$ /usr/local/coreseek/bin/search -c etc/csft.conf 網絡搜索
這些命令的履行是不是正確,我覺得應當可以判斷吧,就不寫詳細的結果了。
7. 服務配置
安裝后,會有1個默許的例子
$ mysql -u test < /usr/local/coreseek/etc/example.sql
履行這句安裝例子需要的數據。
$ /usr/local/coreseek/bin/indexer --all
建立索引,--all會對所有的配置文件建立索引,目前我們只有1個,就無所謂了。同時也說明,sphinx可以同時存在多個配置文件的。
shpinx的守護進程是searchd,配置文件在/usr/local/coreseek/etc,如果你沒有改上1步 --prefix參數的話。
默許的配置文件,名字是sphinx.conf.dist,復制1份,改成csft.conf。
打開csft.conf
找到charset_type項,修改配置,并添加charset_dictpath,注意 /usr/local/mmseg3/etc/ 要以/結尾并且要正確,這個目錄下必須有uni.lib文件。
charset_type = zh_cn.utf⑻
charset_dictpath = /usr/local/mmseg3/etc/
注釋掉3行配置
# stopwords = /var/csft/data/stopwords.txt
# wordforms = /var/csft/data/wordforms.txt
# exceptions = /var/csft/data/exceptions.txt
最后,檢查1下
數據庫連接參數,在配置文件的最開始部份。
OK,保存配置文件。
$ /usr/local/coreseek/bin/search test
這個時候可以看到搜索結果。
$ /usr/local/coreseek/bin/searchd
啟動搜索服務。
8. PHP測試
在解緊縮的源代碼目錄下的api目錄中,可以找到sphinxapi.php和test.php兩個文件,履行test就能夠進行測試了。PHP開發的時候,包括sphinxapi.php后,就能夠仿照test進行搜索相干的開發了。
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈