1. 程式人生 > 其它 >coreseek 大全全網最權威的筆記,相信我!歡迎打賞!各位老鐵!!!

coreseek 大全全網最權威的筆記,相信我!歡迎打賞!各位老鐵!!!

coreseek是一款基於sphinx開源的搜尋引擎,專門為使用者提供免費的中文全文檢索系統,coreseek被稱為帶有中文分詞的sphinx,與sphinx不同的是coreseek增加了一個帶有中文分司的詞庫。

1.依賴包的安裝(包名可能不正確,可以yum search 一下)

yum install glibc make gcc g++ gcc-c++ libtool autoconf automake imake mysql-devel libxml2-devel expat-devel

2.編碼保證為utf-8
執行locale保證如下設定
LANG=zh_CN.UTF-8
LC_ALL="zh_CN.UTF-8"

3.先清除以往autoconf

yum erase autoconf


解除安裝後會發現libtool也被解除安裝了,會出現如下錯誤
configure.in:26: error: possibly undefined macro: AM_PROG_LIBTOOL
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
解決辦法:
wgethttp://mirror.bjtu.edu.cn/gnu/libtool/libtool-2.4.2.tar.gz
./configure
make
make install


4.autoconf、automake安裝
tar xzvf autoconf-2.64.tar.gz
cd autoconf-2.64
./configure
make
make install

tar xzvf automake-1.11.2.tar.gz
cd automake-1.11.2
./configure
make
make install

5.下載coreseek

wgethttp://www.coreseek.cn/uploads/csft/3.2/coreseek-4.1-beta.tar.gz
tar zxvf coreseek-4.1-beta.tar.gz
cd coreseek-4.1-beta

6.安裝mmseg

cd mmseg-3.2.14
./bootstrap#輸出的warning資訊可以忽略,如果出現error則需要解決
./configure --prefix=/usr/local/mmseg
make && make install

7.安裝coreseek

cd csft-4.1
sh buildconf.sh
./configure --prefix=/usr/local/coreseek --without-unixodbc --with-mmseg --with-mmseg-includes=/usr/local/mmseg/include/mmseg/ --with-mmseg-libs=/usr/local/mmseg/lib/ --with-mysql

此時先修改檔案
vim src/Makefile

LIBS = -ldl -lm -lz -lexpat-L/usr/local/lib -lrt-lpthread
變成
LIBS = -ldl -lm -lz -lexpat -liconv-L/usr/local/lib -lrt-lpthread

make && make install

8.##測試mmseg分詞,coreseek搜尋(需要預先設定好字符集為zh_CN.UTF-8,確保正確顯示中文)

cd testpack
cat var/test/test.xml#此時應該正確顯示中文
/usr/local/mmseg/bin/mmseg -d /usr/local/mmseg/etc//home/software/server/coreseek-4.1-beta/mmseg-3.2.14/src/t1.txt
/usr/local/mmseg/bin/mmseg -d /usr/local/mmseg/etc/ /home/software/server/coreseek-4.1-beta/testpack/var/test/test.xml
/usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/sphinx-min.conf.dist
csft-4.0 版顯示:ERROR: nothing to do.

若發現錯誤
error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory
解決方式
cd /etc
ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2
ldconfig

9.配置mysql,匯入測試資料

create database test;
mysql -uroot -proot test < /home/software/server/coreseek-4.1-beta/testpack/var/test/documents.sql
quit

cp /home/software/server/coreseek-4.1-beta/testpack/etc/csft_mysql.conf /usr/local/coreseek/etc/

10.配置csft_mysql.conf檔案

mkdir /usr/local/coreseek/var/data/
配置csft_mysql.conf檔案
vim /usr/local/coreseek/etc/csft_mysql.conf
sql_user= root
sql_pass=
path= /usr/local/coreseek/var/data/mysql
charset_dictpath = /usr/local/mmseg/etc/

pid_file = /usr/local/coreseek/var/log/searchd_mysql.pid
log = /usr/local/coreseek/var/log/searchd_mysql.log
query_log = /usr/local/coreseek/var/log/query_mysql.log

11.啟動sphinx搜尋
/usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/csft_mysql.conf --all
/usr/local/coreseek/bin/searchd -c /usr/local/coreseek/etc/csft_mysql.conf

如果報錯
WARNING: index 'mysql': preload: failed to open var/data/mysql.sph: No such file or directory; NOT SERVING
FATAL: no valid indexes to serve
解決
新建立索引
/usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/csft_mysql.conf --all

更改
mysql的問題 stock路徑問題,需要在my.cnf更改 /var/lib/mysql/mysql.sock
vim /etc/my.cnf
#socket= /tmp/mysql.sock
socket= /var/lib/mysql/mysql.sock


防火牆問題關閉防火牆


12.命令
啟動
/usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/csft_mysql.conf --all
/usr/local/coreseek/bin/searchd -c /usr/local/coreseek/etc/csft_mysql.conf

coreseek重新索引(資料有變動時需要重新索引)
/usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/csft_mysql.conf --all --rotate


13.保證跨機器訪問,關閉防火牆
service iptables stop

魅力男神