sphinx是國外的一款搜索軟件。
coreseek是在sphinx的基礎上,增加了中文分詞功能,換句話說,就是支持了中文。
Coreseek發布了3.2.14版本和4.1版本,其中的3.2.14版本是2010年發布的,它是基於Sphinx0.9.9搜索引擎的。而4.1版本是2011年發布的,它是基於Sphinx2.0.2的。Sphinx從0.9.9到2.0.2還是有改變了很多的,有很多功能,比如sql_attr_string等是在0.9.9上面不能使用的。
可以同時安裝sphinx,coreseek,不會互相沖突。
環境:centos6.5 + mysql5.6 + other。
首先安裝sphinx:
1. 下載安裝包 http://sphinxsearch.com/downloads/ (目前最新版本是2.2.10)
2 ./configure --prefix=/usr/local/sphinx --with-mysql=/usr/local/mysql (mysql其實不用指定,默認已經支持) make && make install
3.安裝完成後,在 /usr/local/sphinx目錄下會有4個目錄
4.打開example.sql ,執行上面的sql.這是測試用例。
5.進入etc目錄,拷貝配置文件, cp sphinx-min.conf.dist sphinx.conf (這裡不拷貝sphinx.conf.dist ,因為這文件只是比前者多了一堆注釋)
6.打開sphinx.conf 修改下配置文件,如果使用的是步驟4的用例,那在這裡只需要修改一下數據庫配置就行。
7. 生成索引 /usr/local/sphinx/bin/indexer --all
8.測試 /usr/local/sphinx/bin/search linux
沒錯,你會看到這行提示,我們根本就沒這個命令軟件。。。。。只有一個searchd,但是這個searchd的用途根本不是這個,所以這裡就先不測試了,我們去安裝coreseek吧!
安裝coreseek
1.首先下載軟件,打開 官網 coreseek.cn
沒錯,你會看到這個提示。
根據筆者觀察,該網站已經N久打不開了,該站長已經N久沒去備案了。
那只能從別的地方下載安裝包咯。
2.解壓oreseek裡有2個文件夾 一個是mmseg中文分詞包 還有一個是csft(其實就是sphinx)包 都要安裝
首先安裝mmseg中文分詞
./configure --prefix=/usr/local/mmseg
編譯時可能會報錯config.status: error: cannot find input file: src/Makefile.in
通過automake來解決
首先檢查是否安裝了libtool如果沒有
yum -y install libtool
automake
如果automake報錯 原因可能是下列
Libtool library used but `LIBTOOL' is undefined
The usual way to define `LIBTOOL' is to add `AC_PROG_LIBTOOL'
to `configure.ac' and run `aclocal' and `autoconf' again.
If `AC_PROG_LIBTOOL' is in `configure.ac', make sure
its definition is in aclocal's search path.
如果以上步驟都沒成功,那麼試下以下辦法(把下面的命令都執行一遍,就好了)
3.然後繼續mmseg的安裝
./configure --prefix=/usr/local/mmseg
make && make install
4.安裝csft
./configure --prefix=/usr/local/coreseek --with-mysql=/usr/local/mysql --with-mmseg=/usr/local/mmseg --with-mmseg-includes=/usr/local/mmseg/include/mmseg/ --with-mmseg-libs=/usr/local/mmseg/lib/
make && make install
安裝完畢後 注意 coreseek 中的配置文件也是csft.conf 而不是 sphinx.conf
cd /usr/local/coreseek/etc
cp sphinx.conf.dist csft.conf
vim csft.conf
5.修改配置csft.conf,增加對中文支持
打開csft.conf
在index test1 段下面,增加
charset_type = zh_cn.utf-8
charset_dictpath =/usr/local/mmseg/etc/
6.配置完成,測試一下吧
保存配置 建立索引 cd /usr/local/coreseek/bin ./indexer --all ./search 別再等
看看是不是已經出來效果了呢 (備注,原始測試的sql,都是英文,需要自己添加一些中文的記錄哦)。
到這裡就結束了,下一篇,將介紹下php怎麼連接訪問sphinx,coreseek
參考文章:
http://www.cnblogs.com/lost-1987/articles/2681643.html
http://www.cnblogs.com/yjf512/p/3581869.html