- 什么是sphinx,sphinx和coreseek有什么區(qū)別和作用。
- coreseek的安裝和配置。
- coreseek的使用方式钧惧。
sphinx和coreseek
- ** sphinx: **
Sphinx是開源的搜索引擎,它支持英文的全文檢索勾习。 - ** coreseek: **
單獨(dú)搭建Sphinx浓瞪,已經(jīng)可以使用全文索引了。但是往往我們要求的是中文索引,coreseek就是國(guó)人提供了一個(gè)可供企業(yè)使用的巧婶,基于Sphinx的中文全文檢索引擎乾颁。也就是說(shuō)Coreseek實(shí)際上的內(nèi)核還是Sphinx。
coreseek安裝流程和遇到問(wèn)題的解決方法
- 第一步下載coreseek安裝包艺栈,點(diǎn)擊下載coreseek的3.2.14.tar.gz版本
- 下載完成后解壓進(jìn)入coreseek目錄英岭,會(huì)發(fā)現(xiàn)有兩個(gè)目錄csft-3.2.14和mmseg-3.2.14,這里簡(jiǎn)單說(shuō)明下:Csft-3.2.14就相當(dāng)玩sphinx安裝目錄湿右,mmseg-3.2.14即為中文分詞安裝包诅妹,先安裝中文分詞庫(kù),請(qǐng)看代碼:
Cd coreseek-3.2.14/ mmseg-3.2.14 ./configure --prefix=/usr/local/mmseg/
./configure出現(xiàn)錯(cuò)誤:config.status: error: cannot find input file: src/Makefile.in
要先安裝automake诅需,再重新執(zhí)行configure
yum -y install autoconf automake
aclocal
yum -y install libtool
aclocal
libtoolize –force
automake --add-missing
make
make install
- 安裝中文分詞mmseg完畢漾唉,安裝coreseek。
cd ../ csft-3.2.14
./configure --prefix=/usr/local/coreseek --with-mysql=/usr/local/mysql --with-mmseg-includes=/usr/local/mmseg/include/mmseg/ --with-mmseg-libs=/usr/local/mmseg/lib/
make
make install
```
但我的環(huán)境是使用yum直接安裝的lnmp堰塌,不知道m(xù)ysql的地址赵刑。需要先安裝mysql-devel ,再安裝csft的時(shí)候直接用-with-mysql 會(huì)自動(dòng)搜索安裝的mysql的文件场刑。重新執(zhí)行上面的代碼般此,--with--mysql不用帶參數(shù),自動(dòng)搜索牵现。
4. 安裝好coreseek和mmesg我們要給php加上sphinx模塊铐懊,這樣php就可以用到sphinx軟件的功能,先下載php的sphinx模塊包瞎疼,代碼如下
wget http://pecl.php.net/get/sphinx-1.1.0.tgz
tar zxvf sphinx-1.1.0.tgz
cd sphinx-1.1.0
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install
安裝擴(kuò)張有可能遇到的錯(cuò)誤:
一科乎、configure: error: Cannot find libsphinxclient headers
解決方法:進(jìn)入下載包的ctsf文件夾的api文件夾找到libsphinxclient文件夾,進(jìn)入文件夾編譯安裝configure make && make isntall
二贼急、/root/sphinx-1.1.0/sphinx.c:1888:43: warning: assignment from incompatible pointer type [enabled by default]
這是因?yàn)閿U(kuò)張的版本和以安裝的php的版本之間代碼的嚴(yán)格行造成的茅茂。
修改sphinx.c文件105行,添加默認(rèn)值null
retval = std_hnd->read_property(object, member, type TSRMLS_CC, NULL);
配置擴(kuò)展:在php.ini的下面加上:extension=”sphinx.so”