Sebelumnya saya pernah menulis tentang pencarian file di operating system Windows dengan menggunakan service Windows Indexing. Masih dengan ide yang sama, saya coba explore tentang metode indexing di operating system Linux, pada artikel ini saya menggunakan distro Ubuntu 8.04 LTS.
Setelah saya googling, salah satu aplikasi yang mampu melakukan indexing di Linux adalah aplikasi SWISH-E http://swish-e.org/
Disini saya hanya akan menulis tentang cara melakukan instalasi, konfigurasi dan ujicoba indexing dan searching. Edisi berikutnya (kalau ada waktu) saya akan posting tentang pencarian untuk tipe file yang lain, pencarian melalui jaringan, dll.
Langkah-langkah yang saya tulis pada artikel ini dengan asumsi komputer anda telah terkoneksi ke internet (online), jika anda offline, silahkan download package-nya dulu dan lakukan instalasi.
Penjelasan symbol:
# artinya anda sebaiknya menggunakan account superuser (root)
$ artinya anda sebaiknya menggunakan account user
Instalasi dan konfigurasi Swish-e:
Lakukan instalasi Ubuntu 8.04 LTS, dowload link http://www.ubuntu.com/desktop/get-ubuntu/download
Setelah itu, jangan lupa melakukan update dan install build-essential Ubuntu, caranya:
# apt-get update
# apt-get install build-essential
Jika ingin Ubuntu anda bisa berkomunikasi dengan windows menggunakan protokol SFTP atau FTP, silahkan install ssh, caranya :
# apt-get install ssh
Setelah instalasi Ubuntu selesai, saatnya instalasi Swish-e. Perlu diketahui ada beberapa package yang perlu diinstal lebih dulu sebelum Swish-e, sedangkan package yang lain boleh diinstal setelah Swish-e. Package yang perlu diinstal sebelum Swish-e : Libxml2 dan Zlib. Package yang bisa dinstall setelah Swish-e : SWISH::API Perl Module, Indexing Dokumen PDF, Indexing Dokumen MS Word, Indexing Dokumen Excel, dll.
Install Libxml2
$ gzip -dc libxml2-2.7.7.tar.gz | tar xof -
$ cd libxml2-2.7.7
$ ./configure
$ make
$ make check
$ sudo su
# make install
exit
$
Install Zlib
$ gzip -dc libxml2-2.7.7.tar.gz | tar xof -
$ cd libxml2-2.7.7
$ ./configure
$ make
$ make check
$ sudo su
# make install
exit
$
install swish-e 2.4.7
gzip -dc swihs-e-2.4.7.tar.gz | tar xof -
cd swish-e-2.4.7
$ ./configure
$ make
$ make check
==================
All 4 tests passed
==================
$ sudo su
# make install
# exit
$
Cek hasil instalasi Swish-e
$ swish-e -V
============
SWISH-E 2.4.7
============
Jika ada error yang menyebutkan bahwa gagal melakukan loading shared library, contoh: “error while loading shared libraries: libswish-e.so.2”, artinya Ubuntu anda belum bisa mengenali file library Swish-e. Biasanya karena file-file instalasi tidak ditempatkan pada folder default Swish-e. Agar bisa dikenali oleh Ubuntu:
masuk ke folder library Swich-e, default ada di # /usr/local/lib.
Ketik perintah berikut:
# ldconfig
Coba lagi
$ swish-e -V
, sampai tidak ada error yang muncul berarti instalasi anda sukses.
Install SWISH::API Perl Module
$ cd swish-e-2.4.7
$ cd perl
$ perl Makefile.PL
$ make
$ make test
$ sudo su
# make install
# exit
$
SWISH-E dan SWISH::API Perl Module sudah terinstall penuh. Package Swish-e hanya melakukan indexing untuk file-file HTML, XML dan text file. Untuk tipe file yang lain perlu dilakukan instalasi package-nya masing-masing. Sekarang kita akan mencoba melakukan indexing file HTML.
Buat 2 folder misalnya “my-htmls” dan “indexes” di bawah folder local, caranya:
$ mkdir my-html-docs
dan
$ mkdir indexes
simpan 1 buah file di folder my-html-docs yang nantinya akan diindex. Saya ambil 1 file dari http://swish-e.org/docs/install.html dan disimpan di folder tersebut
masuk ke folder indexes:
$ cd indexes
dan buat 1 buah file dengan nama my-html.conf:
$ touch my-html.conf
Edit file yang baru dibuat:
$ vim my-html.conf
Tekan tombol “Insert” di keyboard untuk bisa menulis data berikut di file tersebut:
IndexDir ../my-html-docs/
IndexOnly .html
IndexFile ./my-html.index
Untuk keluar dari edit mode dan menyimpan perubahan file tersebut, tekan tombol “ESC” dan ketik
:wq
lalu tombol “Enter”.
Untuk keluar dari edit mode tetapi tidak ingin menyimpan perubahan file tersebut, tekan tombol “ESC” dan ketik
:q!
lalu tombol “Enter”.
IndexDir menunjukkan folder dimana Swish-e akan mencari file yang nantinya diindex. IndexOnly menunjukkan extension file yang akan diindex, contoh di atas hanya file html saja. IndexFile menujukkan lokasi dimana file hasil index tersebut disimpan.
Perintahkan swish-e untuk melakukan indexing, caranya:
$ swish-e -c my-html.conf
Proses indexing selesai dan bisa dilanjutkan dengan proses searching.
Searching
Contoh: akan dilakukan pencarian kata “install” di folder my-html-docs dan hanya akan dikeluarkan 3 buah file saja. Perintahnya:
$ swish-e -f my-html.index -m 3 -w install
Silahkan dilihat hasilnya.