coreseek爲企業級搜索建立索引

cmake-2.8.3+mysql5.5.9+mmseg-3.2.14+csft-4.0.1生產環境中安裝
 
注:該文檔是Dell 2950 服務器上進行安裝的,本文檔只講解安裝的過程,給出測試的步驟,但是不給出配置文件;
首先介紹一下coreseek:
Coreseek 是一款中文全文檢索/搜索軟件,以GPLv2許可協議開源發佈,基於Sphinx研發並獨立發佈,專攻中文搜索和信息處理領域,適用於行業/垂直搜索、論壇/站內搜索、數據庫搜索、文檔/文獻檢索、信息檢索、數據挖掘等應用場景,用戶可以下載使用;同時針對有實際需要的客戶,我們還提供專業的搜索技術與本地化Sphinx技術支持服務(客戶中,記錄量最大已超過30億條,文本容量最大已超過5TB),官網http://www.coreseek.cn/
 
一、環境:
1.系統版本:
[root@luowei01 bin]# lsb_release -a
LSB Version: :core-4.0-amd64:core-4.0-ia32:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-ia32:printing-4.0-noarch
Distributor ID: CentOS
Description: CentOS release 5.7 (Final)
Release: 5.7
Codename: Final
 
2.內核版本:
[root@luowei01 bin]# uname -r
2.6.18-274.7.1.el5
 
3.CPU個數
[root@luowei01 bin]# cat /proc/cpuinfo |grep -c processor
4
 
4.硬件製造商
[root@luowei01 bin]#  dmidecode -s system-product-name
PowerEdge 2950

三、軟件依序列安裝:
1.編譯安裝cmake
tar zxvf cmake-2.8.3.tar.gz
cd cmake-2.8.3
./bootstrap
make
make install
cd ../
tar zxvf coreseek-4.0.1-beta.tar.gz
tar zxvf sphinx-trunk.tar.gz
tar zxvf mysql-5.5.9.tar.gz
cd sphinx-trunk
patch -p0 < ../Sphinx_1.11-dev_sphinxse_mysql-5.5.8.diff  
cp -R mysqlse ../mysql-5.5.9/storage/sphinx
cd ../
 
2.安裝MySQL
cd mysql-5.5.9/
sh BUILD/autorun.sh
mkdir -p /var/lib/mysql
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DMYSQL_DATADIR=/data/mysql \
-DDEFAULT_CHARSET=gbk -DEXTRA_CHARSETS=all -DWITH_SSL=system -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DCMAKE_BUILD_TYPE=Release -DWITH_SPHINX_STORAGE_ENGINE=1
make
make install
/usr/local/useradd -M -o -r -d /var/lib/mysql -s /bin/bash -c "MySQL Server" -u 27 mysql
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
chown -R mysql:mysql /data/mysql
chmod -R 755 /data/mysql
chmod +w /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql
cp -rf support-files/my-medium.cnf /etc/my.cnf
cp -rf support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod 755 /etc/rc.d/init.d/mysqld
/sbin/chkconfig --add mysqld
/sbin/chkconfig mysqld on
cp -rf /usr/local/mysql/bin/* /usr/sbin
ln -s /usr/localmysql/lib/mysql /usr/lib/mysql
ln -s /usr/local/mysql/include/mysql /usr/include/mysql
cd ../
echo "/usr/local/mysql/lib" > /etc/ld.so.conf.d/mysql.conf
echo "/usr/local/lib" >> /etc/ld.so.conf.d/mysql.conf
ldconfig -v
service mysqld start
mysql -uroot -p
GRANT ALL PRIVILEGES ON *.* TO
[email protected] IDENTIFIED BY 'redhat' WITH GRANT OPTION;
INSTALL PLUGIN sphinx SONAME "ha_sphinx.so";
SHOW ENGINES;
 
3.編譯安裝coreseek的mmseg分詞
cd coreseek-4.0.1-beta/mmseg-3.2.14
./bootstrap
./configure --prefix=/usr/local/mmseg
make
make install
cd ../../
 
4.編譯安裝csft
cd coreseek-4.0.1-beta/csft-4.0.1
sh buildconf.sh
./configure --prefix=/usr/local/sphinx --with-mysql=/usr/local/mysql --without-unixodbc --with-mmseg --with-mmseg-includes=/usr/local/mmseg/include/mmseg/ --with-mmseg-libs=/usr/local/mmseg/lib/ --with-mysql
vim /opt/coreseek-4.0.1-beta/csft-4.0.1 文件

LIBS = -lm -lexpat -L/usr/local/lib
改成
LIBS = -lm -lexpat -liconv -L/usr/local/lib
make
make install
cd ../
 
5.導入測試sql並測試
cd /usr/local/sphinx/etc
cp sphinx.conf.dist csft.conf
mysql -uroot test < /usr/local/sphinx/etc/example.sql
ln -sv /usr/local/mysql/lib/libmysqlclient.so.16 /usr/lib/libmysqlclient.so.16
/usr/local/sphinx/bin/indexer --all
/usr/local/mmseg/bin/mmseg -d /usr/local/mmseg/etc var/test/test.xml
/usr/local/sphinx/bin/searchd --config /usr/local/sphinx/etc/sphinx.conf
/usr/local/sphinx/bin/search --config /usr/local/sphinx/etc/sphinx.conf  'abc'
 
安裝過程中遇到的問題及解決方法:
1.在INSTALL PLUGIN sphinx SONAME "ha_sphinx.so";時候,找不到ha_sphinx.so的解決方法:
Q:Can't open shared library '/usr/local/mysql/lib/plugin/ha_sphinx.so'
A:
Download the patch file from
http://www.coreseek.cn/uploads/csft/patch/Sphinx_1.11-dev_sphinxse_mysql-5.5.8.diff
cd path_of_sphinx ; patch -p1 < /path/to/Sphinx_1.11-dev_sphinxse_mysql-5.5.8.diff
 
2.提示FATAL: no readable config file (looked in /usr/local/sphinx/etc/csft.conf, ./csft.conf).
解決方法:
cp /PATH_TO_SPHINX/etc/sphinx.conf.dist /PATH_TO_SPHINX/etc/csft.conf
 
3.提示error while loading shared libraries libmysqlclient.so.16
解決方法:
echo "/usr/local/mysql/lib" > /etc/ld.so.conf.d/mysql.conf
ldconfig
ln -sv /usr/local/mysql/lib/libmysqlclient.so.16 /usr/lib/libmysqlclient.so.16
 
希望此文檔能幫助更多愛好開源事業的人!
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章