sphinx的搜索效率和结果都让人觉得很满意.所以我推荐做站内搜索的朋友可以使用sphinx来作为后台的搜索服务.
下载安装文件可以到http://sphinxsearch.com/downloads.html选择你合适版本的安装文件.下面使用源码安装.
wget http://sphinxsearch.com/downloads/sphinx-0.9.9.tar.gz
tar zxvf ./sphinx-0.9.9.tar.gz
cd /sphinx-0.9.9/
./configure --prefix=/usr/local/sphinx/
make
make install
添加用户
adduser searchd -r -M
在/ect/init.d/创建searchd 文件内容如下(其实在/usr/local/sphinx/bin/下也有一个searchd文件,不过我使用的时候,发现有错误,就自己重新改了.)
#!/bin/bash
#
# Init file for searchd
#
# chkconfig: 2345 55 25
#
# description: searchd
#
# USE "chkconfig --add searchd" to configure Sphinx searchd service
#
# by Vladimir Fedorkov Mar 1, 2006, info@astellar.com
# public domain
SUDO_USER=searchd
BASE_PATH=/usr/local/sphinx
PID_FILE=$BASE_PATH/var/log/searchd.pid
CONFIG_FILE=$BASE_PATH/etc/sphinx.conf
EXEC_PATH=$BASE_PATH/bin
DATA_PATH=$BASE_PATH/var/data
LOG_PATH=$BASE_PATH/var/log
RETVAL=0
prog="searchd"
do_config() {
mkdir -p $DATA_PATH
mkdir -p $LOG_PATH
chown -R $SUDO_USER $DATA_PATH
chown -R $SUDO_USER $CONFIG_FILE
chown -R $SUDO_USER $LOG_PATH
chmod 600 $CONFIG_FILE
chmod u+rwx $EXEC_PATH/*
chmod -R u+rw,go-rwx $DATA_PATH
chmod -R u+rw,go-rwx $LOG_PATH
}
do_start() {
echo "Starting $prog"
sudo -u $SUDO_USER $EXEC_PATH/$prog --config $CONFIG_FILE
RETVAL=$?
echo
return $RETVAL
}
do_stop() {
echo "Stopping $prog"
if [ -e $PID_FILE ] ; then
kill -15 `cat $PID_FILE`
sleep 5
if [ -e $PID_FILE ] ; then
kill -9 `cat $PID_FILE`
fi
fi
RETVAL=$?
echo
return $RETVAL
}
case $* in
config)
do_config
;;
start)
do_start
;;
stop)
do_stop
;;
restart)
do_stop
do_start
;;
*)
echo "usage: $0 {start|stop|restart|config}" >&2
exit 1
;;
esac
exit $RETVAL