SphinxSearch Kurulumu
Ubuntu Lucid üzerine hem Mysql ve hem de xmlpipe/2 destekli bir Sphinx kurmak icin yapılması gerekenler:
$ apt-get install mysq-server libmysqlclient-dev
$ apt-get install libexpat1 libexpat-dev
# mysq-server zaten kuruluydu bende. server kurmak istemiyorsanız kurmanıza gerek yok. sadece
# libmysqlclient-dev paketinin yeterli olacağını düşüyorum.
# Download Sphinx
# (Ubuntu Lucid de artık default repo da geliyor ama xmlpipe2 desteğini sağlayamadım)
# apt-get install sphinxsearch
Ben siteden son sürümü çekerek derledim:
http://www.sphinxsearch.com/downloads.html
$ tar xvzf sphinx-x-x-x.tar.gz
$ cd sphinx-x-x-x
$ ./configure --prefix=/usr/local/sphinx --with-mysql
$ make
$ make install
$ cp /usr/local/sphinx/etc/sphinx-min.conf.dist /usr/local/sphinx/etc/sphinx.conf
Ben Oracle dan veri cekip index’leyeceğim için xmlpipe2 kullandım.
Örnek:
source src_cv {
type = xmlpipe
xmlpipe_command = php /usr/local/sphinx/var/cmd/cv.php
}
index idx_cv {
source = src_cv
path = /usr/local/sphinx/var/data/cv
html_strip = 1
#charset_type = sbcs
charset_type =utf-8
}
Çalıştırmak için şu “bin” altındaki searchd çalıştırılır.
#/usr/local/sphinx/bin/searchd
Eğer Ubuntu/Debian tabanlı sisteminiz varsa ve bunu açılışta otomatik çalıştırmak isterseniz aşağıdakileri yaparak devam ediniz.
“/etc/inet.d/” altında sphinx diye bir dosya yaratın.
Buna 777 vermeyi unutmayınız.
#chmod 777 /etc/inet.d/sphinx
Dosya içeriği:
# /etc/init.d/sphinx: start the sphinx search daemon.
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
pidfile=/var/log/searchd.pid
binpath=/usr/local/sphinx/bin/searchd
SPHINX=”–config /usr/local/sphinx/etc/sphinx.conf”
NAME=searchd
DESC=”sphinx search daemon”
test -f $binpath || exit 0
test ! -r /etc/default/sphinx || . /etc/default/sphinx
running()
{
# No pidfile, probably no daemon present
#
if [ ! -f $pidfile ]
then
return 1
fi
pid=`cat $pidfile`
# No pid, probably no daemon present
#
if [ -z “$pid” ]
then
return 1
fi
if [ ! -d /proc/$pid ]
then
return 1
fi
cmd=`cat /proc/$pid/cmdline | tr “\000” “\n”|head -n 1`
# No syslogd?
#
if [ “$cmd” != “$binpath” ]
then
return 1
fi
return 0
}
case “$1” in
start)
echo -n “Starting sphinx search daemon: searchd”
start-stop-daemon –start –quiet –exec $binpath — $SPHINX
echo “.”
;;
stop)
echo -n “Stopping sphinx search daemon: searchd”
start-stop-daemon –stop –retry TERM/1/TERM/1/TERM/4/KILL –quiet –exec $binpath –pidfile $pidfile
echo “.”
;;
restart|force-reload)
echo -n “Restarting sphinx search daemon: searchd”
start-stop-daemon –stop –retry TERM/1/TERM/1/TERM/4/KILL –quiet –exec $binpath –pidfile $pidfile
start-stop-daemon –start –quiet –exec $binpath — $SPHINX
echo “.”
;;
*)
echo “Usage: /etc/init.d/shpinx {start|stop|restart|force-reload}”
exit 1
esac
exit 0
Sonra yeni servis sisteme dahil edilir:
# update-rc.d sphinx defaults 99
Artık sphinx sistem açıldığında otomatil çalışacaktır. Ayrica şu sekilde durdurulur ve çalıştıarılabilir:
#/etc/init.d/sphinx stop
#/etc/init.d/sphinx start
Recent Comments