Install Sphinx Search di Ubuntu 9.10 dengan MySQL Support
Kemaren iseng-iseng (sebenernya bukan iseng sih, dapet tugas kuliah) untuk menginstall sphnix search, setelah coba-coba akhirnya berhasil juga nginstall sphinx search di ubuntu, walaupun agak susah awalnya (nginstall aja susah, tinggal next-next doang), maklum lah masih newbie. Pada awalnya saya coba install di windows XP dan lancar-lancar aja, tapi pas nyoba di linux awal-awalnya gagal, tapi untung berhasil juga. Sekedar info aja, saya install sphinx search versi 0.9-9 dan OS Ubuntu 9.10 Karmic. Berikut kronologis instalasinya :
1. Download Sphinx Search dari situs aslinya.
2. Install Mysql, kali ini Mysql yang saya pakai adalah versi 5.1
sudo apt-get install mysql-server-5.1
3. Install Paket yang dibutuhkan, yaitu mysql client library
apt-get install gcc make libmysqlclient15-dev libmysql++-dev
4. Compress hasil download-an sphinx ke lokasi favorit kamu, misalnya di /home
tar xvfz sphinx-0.9-9.tar.gz
5. Setelah proses ekstraksi selesai, masuk ke direktori sphinx
cd /home/sigit/sphinx-0.9-9
6. Jalankan konfigurasi (ini konfigurasi untuk yang menggunakan mysql support)
./configure --prefix=/usr/local/sphinx --with-mysql
7. Setelah selesai konfigurasi, lakukan proses compile
make make install
Setelah itu apa lagi ya, lupa ane, tunggu diinget-inget dulu……………………………… kayanya udah selesai deh proses instalasinya.
Sekarang waktunya konfigurasi sphinx nya.
8. Masuk ke direktori Sphinx
cd /usr/local/sphinx/etc
ini tergantung dari tempat konfigurasi pada saat proses nomor 6 tadi.
9. Buat klonengan dari file default konfigurasi
sudo cp sphinx.conf.dist sphinx.conf
10. Lakukan sedikit modifikasi, terutama untuk konfigurasi databasenya, ini sedikit cuplikan file sphinx.conf
............................. # known types are mysql, pgsql, mssql, xmlpipe, xmlpipe2, odbc type = mysql ##################################################################### ## SQL settings (for 'mysql' and 'pgsql' types) ##################################################################### # some straightforward parameters for SQL source types sql_host = 127.0.0.1 sql_user = root sql_pass = password sql_db = test sql_port = 3306 # optional, default is 3306 # UNIX socket name .............................
Oh iya lupa gan, sebelumnya di import dulu database contohnya yang ada di /home/***/sphinx-0.9-9/examples.sql ke database mysql yang tadi baru diinstall (kalo yg ini cari tahu ndiri ya caranya)
11. Kalo udah selesai konfigurasi, coba deh tes sphinx nya. caranya gini :
sudo /usr/local/sphinx/bin/indexer --all
Kalo ngga error (kaya di komputer gw ::sombong mode on::) hasilnya seperti ini :
Sphinx 0.9.9-rc2 (r1785) Copyright (c) 2001-2009, Andrew Aksyonoff using config file '/usr/local/sphinx/etc/sphinx.conf'... indexing index 'software'... collected 10 docs, 0.0 MB sorted 0.0 Mhits, 100.0% done total 10 docs, 649 bytes total 0.013 sec, 48970 bytes/sec, 754.54 docs/sec total 2 reads, 0.000 sec, 16.3 kb/call avg, 0.0 msec/call avg total 5 writes, 0.000 sec, 0.4 kb/call avg, 0.0 msec/call avg
kalau udah gitu berarti kita berhasil melakukan crawler terhadap data. buat ngetes pencariannya, caranya gini :
/usr/local/sphinx/bin/search query
misalnya gini :
/usr/local/sphinx/bin/search test
maka hasilnya harusnya gini :
sigit@sigit-laptop:/usr/local/sphinx/etc$ /usr/local/sphinx/bin/search test Sphinx 0.9.9-release (r2117) Copyright (c) 2001-2009, Andrew Aksyonoff using config file '/usr/local/sphinx/etc/sphinx.conf'... index 'test1': query 'test ': returned 3 matches of 3 total in 0.009 sec displaying matches: 1. document=1, weight=2, group_id=1, date_added=Tue Mar 2 09:41:24 2010 id=1 group_id=1 group_id2=5 date_added=2010-03-02 09:41:24 title=test one content=this is my test document number one. also checking search within phrases. 2. document=2, weight=2, group_id=1, date_added=Tue Mar 2 09:41:24 2010 id=2 group_id=1 group_id2=6 date_added=2010-03-02 09:41:24 title=test two content=this is my test document number two 3. document=4, weight=1, group_id=2, date_added=Tue Mar 2 09:41:24 2010 id=4 group_id=2 group_id2=8 date_added=2010-03-02 09:41:24 title=doc number four content=this is to test groups words: 1. 'test': 3 documents, 5 hits index 'test1stemmed': query 'test ': returned 3 matches of 3 total in 0.000 sec displaying matches: 1. document=1, weight=2, group_id=1, date_added=Tue Mar 2 09:41:24 2010 id=1 group_id=1 group_id2=5 date_added=2010-03-02 09:41:24 title=test one content=this is my test document number one. also checking search within phrases. 2. document=2, weight=2, group_id=1, date_added=Tue Mar 2 09:41:24 2010 id=2 group_id=1 group_id2=6 date_added=2010-03-02 09:41:24 title=test two content=this is my test document number two 3. document=4, weight=1, group_id=2, date_added=Tue Mar 2 09:41:24 2010 id=4 group_id=2 group_id2=8 date_added=2010-03-02 09:41:24 title=doc number four content=this is to test groups words: 1. 'test': 3 documents, 5 hits
:hore::hore::hore: berhasil berhasil berhasil.
Segitu dulu tutorial post-an ane kali ini ya temen-temen ::imut mode on:: Besok-besok ane bakal post lagi tentang gimana caranya masang di PHP.
About Sphinx Search (ane kopas dari situs aslinya):
Sphinx is a full-text search engine, distributed under GPL version 2. Commercial licensing (eg. for embedded use) is also available upon request.
Generally, it's a standalone search engine, meant to provide fast, size-efficient and relevant full-text search functions to other applications. Sphinx was specially designed to integrate well with SQL databases and scripting languages.
Currently built-in data source drivers support fetching data either via direct connection to MySQL, or PostgreSQL, or from a pipe in a custom XML format. Adding new drivers (eg. to natively support some other DBMSes) is designed to be as easy as possible.
Search API is natively ported to PHP, Python, Perl, Ruby, Java, and also available as a pluggable MySQL storage engine. API is very lightweight so porting it to new language is known to take a few hours.
As for the name, Sphinx is an acronym which is officially decoded as SQL Phrase Index. Yes, I know about CMU's Sphinx project.
Semoga bisa dimengerti 😀
tutorialnya bagus mas, hidup ubuntu
gan nanya klo cari dokumennya pke xml gimana tuh????
Ubuntu 10. 04 LTS Lucid Lynx beta1 Screenshots tour Written by Zinovsky | 19 March 2010 Posted in News – News Ubunutu 10. 04 TLS Lucid Lynx has bee..
http://buddypress.freenice.org/blog/2010/03/20/ubuntu-10-04-lts-lucid-lynx-beta1-screenshots-tour/
tanya mas
tanya apa ya mas ?
tanya mas
saya sudah sampai pada perintah cd /usr/local/sphinx/etc
namun direktori etc tidak di temukan, posisi saya di
c1@c1-laptop:~/Downloads/sphinx-0.9.9$
saya tuliskan perintah ls pun tidak ada direktori etc Bagaimana ini ?
terima kasih
posisi /usr/local/sphinx/etc tergantung dari proses instalasi pada bagian ini mas :
./configure –prefix=/usr/local/sphinx –with-mysql
jadi kalau proses konfigurasi berjalan lancar, seharusnya file instalasi disimpan di direktori tersebut.
pada saat konfigurasi ada muncul error ngga ya mas ?
makasih banget om tutorialnya, ini berguna banget.. 😀 ane udah install di dedicated server ane, cuma masih bingung ini cara pasang di php nya, tutorialnya dah jadi blm ya? 😀