sphinx的簡介和安裝,sphinx簡介安裝
簡介
背景:
1.數據量大,內容審核現有搜索簡歷索引慢;人員流動,現有搜索難於維護
2.前端調用復雜;使用全表掃描,搜索速度慢;對結果的沒有排序;難於最快找到最精確的數據
建議優化:
1.高速的索引建立
2.避免對數據庫做like操作,減少壓力
3.對搜索的結果進行權重排序
4.前端開發方便調用
5.最好門檻低,易於掌握且後期維護
安裝
1.安裝lamp環境
如果你已經安裝好就跳過此步。
2.下載所需文件
注意:如果你使用Ubuntu 10.10(sphinxsearch),你可以使用apt-get install直接安裝,可以跳過此步(不過不支持中文分詞)
Coreseek Fulltext Server(源代碼) : http://www.coreseek.cn/uploads/csft/3.1/Source/csft-3.1.tar.gz
Coreseek Mmseg(源代碼) : http://www.coreseek.cn/uploads/csft/3.1/Source/mmseg-3.1.tar.gz
3.必須安裝工具
sudo apt-get install autoconf automake autotools-dev cpp curl gawk gcc lftp libc6-dev linux-libc-dev make libpcre3-dev libpcrecpp0 g++ libtool libncurses5-dev
sudo aptitude install libmysql++-dev libmysqlclient15-dev checkinstall
4.安裝mmseg
sudo su
tar zxvf mmseg-3.1.tar.gz
mkdir /usr/local/mmseg
cd mmseg-3.1
./configure --prefix=/usr/local/mmseg
make
make install
5.安裝sphinx
注意:如果你使用Ubuntu 10.10(sphinxsearch),你可以使用sudo apt-get install sphinxsearch快速安裝(不過不支持中文分詞)
如果不是則采用以下命令:
(下面如果是手動安裝的mysql注意把--with-mysql修改成自己對應的mysql安裝目錄)
tar zxvf csft-3.1.tar.gz
mkdir /usr/local/coreseek
cd csft-3.1
./configure --prefix=/usr/local/coreseek --with-mysql --with-mmseg-includes=/usr/local/mmseg/include/mmseg --with-mmseg-libs=/usr/local/mmseg/lib/
make clean
make
make install
6.測試
安裝完成,下面是測試.
注意:如果你使用Ubuntu 10.10(sphinxsearch),下面配置文件sphinx.conf.dist應該在/etc/sphinxsearch目錄下
cd /usr/local/coreseek/etc
sudo cp sphinx.conf.dist sphinx.conf
sudo vim sphinx.conf(修改示例如下)
mysql -uroot test < /usr/local/coreseek/etc/example.sql(l創建示例數據表,當然你也可以用phpmyadmin導入)
注意:如果你使用Ubuntu 10.10(sphinxsearch),下面你可以直接采用命令sudo indexer --all和sudo search test
sudo /usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/sphinx.conf --all
sudo /usr/local/coreseek/bin/search -c /usr/local/coreseek/etc/sphinx.conf test
sudo /usr/local/coreseek/bin/searchd -c /usr/local/coreseek/etc/sphinx.conf(啟動searchd進程以便sphinxapi調用)
注意:如果你使用Ubuntu 10.10(sphinxsearch),下面的參數應該修改為如下所示:
path = /var/lib/sphinxsearch/data/idxbook1
log = /var/log/sphinxsearch/searchd.log
query_log = /var/log/sphinxsearch/query.log
pid_file = /var/run/searchd.pid
還有將不支持charset_dictpath及charset_table參數,即不支持中文分詞