1.安裝coreseek
CentOS的測試環境安裝
參考地址:http://www.coreseek.cn/products/products-install/install_on_bsd_linux/CentOS-5-5/
32位版本:
coreseek安裝需要預裝的軟件:yum install make gcc g++ gcc-c++ libtool autoconf automake imake mysql-devel libxml2-devel expat-devel
64位版本:
coreseek安裝需要預裝的軟件:yum install make gcc g++ gcc-c++ libtool autoconf automake imake mysql-devel libxml2-devel expat-devel
CoreSeek安裝:
參考地址:
http://www.coreseek.cn/products-install/install_on_bsd_linux/
##下載coreseek:coreseek 3.2.14:點擊下載、coreseek 4.0.1:點擊下載
$ wget http://www.coreseek.cn/uploads/csft/3.2/coreseek-3.2.14.tar.gz
$ 或者 http://www.coreseek.cn/uploads/csft/4.0/coreseek-4.0.1-beta.tar.gz
$ tar xzvf coreseek-3.2.14.tar.gz 或者 coreseek-4.0.1-beta.tar.gz
$ cd coreseek-3.2.14 或者 coreseek-4.0.1-beta
##前提:需提前安裝操作系統基礎開發庫及mysql依賴庫以支持mysql數據源和xml數據源
##安裝mmseg
$ cd mmseg-3.2.14
$ ./bootstrap #輸出的warning信息可以忽略,如果出現error則需要解決
$ ./configure --prefix=/usr/local/mmseg3
$ make && make install
$ cd ..
一般情況這都不會出現什么問題。
##安裝coreseek
$ cd csft-3.2.14 或者 cd csft-4.0.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 ..
---------------------------------------------------------------------------------------------------------------------------------------------------
注:
問題1:在sh buildconf.sh是可能會出現:Autoconf version 2.62 or higher is required的錯誤,這是centos的Autoconf版本太低導致的,手動安裝一下Autoconf即可
centos下升級autoconf
#whereis autoconf #查看autoconf的路徑
#rpm -qf /usr/bin/autoconf #查看autoconf的版本
#rpm -e --nodeps autoconf-2.59-12 #卸載原來版本
#tar -zxf autoconf-2.65.tar.gz
#cd autoconf-2.65
#./configure --prefix=/usr
#make && make install
#/usr/bin/autoconf -V #查看是否安裝成功
問題2:出現 undefined reference to libiconv_open的錯誤,
sphinx依賴于libiconv實現編碼轉換。所以在機器上提前要安裝libiconv庫。然后有configure完成后,使用命令 vim src/Makefile(在csft目錄里),
找到 LIBS = -lm -lexpat -L/usr/local/lib 改為LIBS = -lm -lexpat -liconv -L/usr/local/lib重新make就可以了。網上有其它人將宏#define USE_LIBICONV改為0,
表示不使用libiconv。雖然可以解決問題,但不推薦此方法。
安裝liconv:
#wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz
#tar -zxvf libiconv-1.13.1.tar.gz
#cd libiconv-1.13.1
# ./configure --prefix=/usr/local/libiconv
# make
# make install
編輯:
./src/MakeFile文件
將
LIBS = -lm -lexpat -L/usr/local/lib
改成
LIBS = -lm -lexpat -liconv -L/usr/local/lib
使用命令”bin/indexer”創建索引時,出現”error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory”的問題
在出現這個問題時,先看是否在 /usr/lib下有libiconv.so.2文件或此文件的軟(硬)連接。沒有的話就做一下連接(前提是安裝了libiconv)。然后執行如下的命令:
echo /usr/lib >> /etc/ld.so.conf 接著執行ldconfig。這時就沒有問題了。
----------------------------------------------------------------------------------------------------------------------------------------------------
##測試mmseg分詞,coreseek搜索(需要預先設置好字符集為zh_CN.UTF-8,確保正確顯示中文)
$ 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 網絡搜索
posted on 2011-08-25 14:15
漂漂 閱讀(1065)
評論(0) 編輯 收藏 引用 所屬分類:
c++經典文章轉載