Apr26

What’s Ultrasphinx ? Ultrasphinx is ruby on rails plugin that utilize Sphinx, the open source Full text search engine, why we need another 3rd party library to query our database ?, it’s because Ultrasphinx fairly fast and easy to use, last week i’ve tried to install it on My lovely Werewolf, then here it is :

Install mysql server and mysql devel

sudo yum install mysql-server mysql-devel

some note : sphinx use mysql-devel to interfacing with mysql databases, for first time, i am very frustrating to compile it on my werewolf and people got the same problem like me too, so after hours + cofeemix and searching on the internet, fortunately i got the saviour, … mysql-devel of course

download sphinx

wget http://www.sphinxsearch.com/downloads/sphinx-0.9.8-rc2.tar.gz

configure and install it

tar -xzf sphinx-0.9.8-rc2.tar.gz
cd sphinx-0.9.8-rc2
./configure
make
make install

create log folder

mkdir -p /var/db/sphinx/log
chmod -R 777 /var/db/

install chronic gem

gem install chronic

go to your RAILS_ROOT directory and install ultrasphinx plugin

ruby script/plugin install svn://rubyforge.org/var/svn/fauna/ultrasphinx/trunk

congratz, ultrasphinx already installed on your rails application, then after this i will show you a little example how to implement that

say you have User model and you want the app be able to search name, email and address easily

class User< ActiveRecord::Base
  is_indexed :fields => [’name’, ‘email’,'address’]
end

configure and start ultrasphinx daemon

rake ultrasphinx:bootstrap

or

rake ultrasphinx:configure
rake ultrasphinx:daemon:start

run the indexer

rake ultrasphinx:index

note : Sphinx is a asynchronous search engine, so it is necessary to reindex your data periodically, so perhaps you need to re-index that 10-20 minutes a time, you can make cronjob for this

execute rails console and ultrasphinx on user model

ruby script/console

@search_user = Ultrasphinx::Search.new(:query => “aditya”)
@search_user.run
@search_user.results

DONE and for your reference, here i put rake command that related to ultrasphinx

rake ultrasphinx:bootstrap = Bootstrap a full Sphinx environment
rake ultrasphinx:configure = Rebuild the configuration file for the first time
rake ultrasphinx:daemon:restart = Restart the search daemon
rake ultrasphinx:daemon:start = Start the search daemon
rake ultrasphinx:daemon:status = Check if the search daemon is running
rake ultrasphinx:daemon:stop = Stop the search daemon
rake ultrasphinx:index = Reindex and rotate all indexes.
rake ultrasphinx:index:delta = Reindex and rotate the delta index.
rake ultrasphinx:index:main = Reindex and rotate the main index.
rake ultrasphinx:index:merge = Merge the delta index into the main index.
rake ultrasphinx:spelling:build # Rebuild the custom spelling dictionary.

Credit :
thank’s to Nikada team for the help

Apr23

Dari sejak awal tahun ini saya 90% boleh dikatakan sudah switch ke OS yang berbasis opensource, saya memilih Fedora 8 “Werewolf” untuk hal ini, entahlah mengapa saya suka terhadap OS turunan RedHat ini, alasan sentimental memang, karena pertama kali saya mengenal linux, distro yang saya coba install ketika itu adalah Redhat 6.0, sayangnya Redhat pada saat ini ditujukan untuk pasar komersial

Saya memakai fedora hampir untuk segala hal, dari mulai memutar mp3 memakai amarok, memutar video memakai caffeine, xine, atau realplayer, coding ruby dengan menggunakan Kdevelop, mengetik artikel dan membuat spreadsheet dengan open office, lalu tentu saja internetan, pidgin & skype favorit saya untuk messagging, Filezilla untuk FTP dan SFTP, Yumex untuk download dan install aplikasi fedora, Kedit untuk editor sederhana, Kchmviewer untuk meembaca file CHM dan lain-lain

Hanya satu hal yang belum bisa dilakukan Fedora, Game … terutama untuk maen Warcraft atau Pro Evolution Soccer saya terpaksa harus memakai Windows XP, ya mungkin game2 itu bisa dijalankan via Wine di Fedora, tetapi pengalaman saya, menjalankan Age of Empires saja lemotnya minta ampun, ya ya ya kalo hardware saya sudah super, mungkin nanti saya akan bisa sepenuhnya 100% switch ke Fedora

Oiya, ngomong-ngomong saya hampir lupa inti pembicaran kali ini apa, ya liat saja banner di atas halaman blog ini, tadinya disitu bercokol banner Firefox, tapi karena Fedora 9 “Sulphur” bulan depan akan dirilis, saya memutuskan untuk sementara mengganti banner tsb dengan Banner Fedora 9, so i can’t wait for this release… and how about you ?

Apr16

Kebetulan saya sedang mencoba masa-masa trial VPS di http://www.daxa.net/ dengan menggunakan sistem operasi Debian 4.0 Ecth, secara default program yang tersedia belum begitu lengkap, paling yang berguna hanya apt-get saja yang digunakan untuk install paket program, sedangkan software sisanya mesti install sendiri (bahkan termasuk gcc pun belum tersedia), awalnya saya coba install Ruby dari repositorynya Debian, namun sayang setelah selesai, Ruby yg ada hanya Versi 1.8.5, sedangkan yang diinginkan oleh saya adalah Versi stable terbaru Ruby 1.8.6 Patch Level 114

so terpaksa deh compile ruby from source, oiya sebelumnya login sebagai root dan jangan lupa update apt-getnya, lihat dibawah ini untuk langkah selengkapnya

apt-get update

download source ruby

wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-p114.tar.gz

install library2 yang dibutuhkan untuk kompilasi

apt-get install gcc build-essential

ekstrak ruby tar.gz

tar -xvvf ruby-1.8.6-p114.tar.gz

masuk ke direktory tsb

cd ruby-1.8.6-p114

lalu compile

./configure
make
make install

selesai deh

untuk memastikan apakah ruby telah terinstall ketik ruby -v, setelah itu mari kita install Ruby on Rails dan antek-anteknya :D

download rubygems

wget http://rubyforge.org/frs/download.php/35283/rubygems-1.1.1.tgz

extract lalu install

tar xzf rubygems-1.1.1.tgz
cd rubygems-1.1.1
ruby setup.rb

lalu install library Zlib karena gem membutuhkannya

apt-get install zlib1g-dev

lalu Download dan install ruby-Zlib

wget http://www.blue.sky.or.jp/atelier/ruby/ruby-zlib-0.6.0.tar.gz
tar -xzf ruby-zlib-0.6.0.tar.gz
cd ruby-zlib-0.6.0
ruby extconf.rb
make
make install

setelah itu install rails

gem install rails –include-dependencies

dan sebagai tool pendukung jangan lupa install juga SVN, mysql server dan Mongrel

apt-get install subversion mysql-server
gem install mongrel mongrel_cluster

selesai deh :D