Indexing, Crawling, dan Searching menggunakan Sphider

Sphider

Sphider adalah web-spider dan mesin pencari open-source. Ini mencakup crawler otomatis, yang dapat mengikuti link yang ditemukan pada sebuah situs, dan indexer yang membangun indeks dari semua istilah pencarian yang ditemukan di halaman. Sphider ditulis dalam PHP dan menggunakan MySQL sebagai databasenya.

Installasi

  • Requirements: Webserver. PHP interpreter dan database MySQL.Di sini menggunakan XAMPP untuk Windows yang sudah terdiri dari Apache HTTP Server, MySQL database, PHP dan Perl intrepreter.
  1. Download Sphider di http://www.sphider.eu/download.php. Versi yang paling baru adalah versi 1.3.5
  2. Ektrak file Sphider 1.3.5 ke homedir/xampp/htdocs/sphider
  3. Buka MySQL administrator lalu buat database baru untuk menampung data-data Sphider.mysql -u rootCREATE DATABASE sphider;exit

    atau menggunakan phpMyAdmin.

  4. Buka file database.php di direktori settings (di homedir sphider) kemudian sesuaikan nilai pada variabel $database, $database,$mysql_user, mysql_password dan $mysql_host.
  5. Buka install.php (di direktori admin) menggunakan browser. Secara otomastis akan membuat tabel yang diperlukan ke dalam database sphider. Cara lain yang bisa digunakan adalah dengan meng-import file tables.sql (di direktori sql) ke database sphider melalui phpMyAdmin.Ketika penulis melakukan import database dengan cara di pertama (membuka file install.php dengan browser) muncul pesan error sbb:1

Sphider installation script.

Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘(14), elapsed float(2), results int, key query_key(query))’ at line 3

Creating tables failed. Consult the above error messages.

Kemudian penulis menghapus tabel-tabel yang sudah diimport ke database sphider, lalu mengulang proses tersebut dengan cara kedua yakni meng-import file tables.sql menggunakan phpMyAdmin. Namun tetap sama, kembali muncul pesan error ketika melakukan import.

2

Karena terus mengalami error, penulis mencoba mencari solusi melalui forum di website sphider. Kemudian penulis menemukan solusi di http://www.sphider.eu/forum/read.php?2,8489 (diakses 23 Desember 2012). Menurut post di thread tersebut yang harus dilakukan adalah dengan melakukan query manual untuk membuat tabel query_log. Berikut adalah query-nya:

CREATE TABLE query_log (query VARCHAR(255), time TIMESTAMP DEFAULT 0, elapsed FLOAT(2), results INT, key QUERY_KEY(QUERY));

Query ini bisa dilakukan melalui phpMyAdmin dengan cara sbb:

3

Setelah query dilakukan, secara tabel yang dibutuhkan oleh Sphider sudah terbuat semua.

  • Buka file auth.php (di direktori admin) untuk mengganti username dan password administrator Sphider (secara default nilainya adalah admin dan admin).
  • Installasi sudah selesai dilakukan.
  • Buka localhost/sphider/admin/admin.php untuk mulai melakukan indexing dan localhost/sphider/search.php untuk melakukan pencarian terhadap web yang sudah di-indexing.

Indexing dan Crawling Website

  1. Buka localhost/sphider/admin/admin.php kemudian login.
  2. Pada menu Sites pilih Add site.4
  3. Kemudian masukkan URL website yang ingin di-index.5
  1. URL http://ugm.ac.id sudah ditambahkan dan siap untuk di-index. Pilih Index di sebelah kanan.6
  2. Kemudian akan muncul pilihan-pilihan indexing. Detailnya bisa dilihat di sini7Jika sudah sesuai dengan kebutuhan, indexing sudah bisa dilakukan dengan memilih start indexing.
  3. Proses indexing akan berjalan, contohnya adalah sbb :8
  4. Kembali ke halaman admin. – Edit : untuk merubah detail website.9Re-index : melakukan indexing ulang.- Browse pages : melihat halaman yang terindex dari website.10Delete : menghapus site beserta hasil indexing.

    – Stats : melihat statistik indexing secara keseluruhan.

    11

Searching

Setelah melakukan indexing dan crawling pada website http://ugm.ac.id, maka proses pencarian sudah dapat dilakukan. Buka localhost/sphider/search.php

12

Kemudian masukkan kata kunci, misalnya ‘sekolah vokasi’ maka akan Sphider akan menampilkan data hasil indexing yang sekiranya relevan dengan kata kunci.

13


Epilog :

  • ini merupakan tugas Information Retrieval saya😀
  • secara keseluruhan, crawling dan indexing mengunakan Sphider jauh lebih mudah daripada menggunakan Apache Nutch :p. Sphider sudah melakukan kompilasi antara indexing, crawling, dan searching dalam 1 paket🙂 dan itu wow😀
  • lightweight. Enteng, karena menggunakan webserver biasa aja bisa.
  • bisa dikustomisasi (kalau bisa) :p
  • pemasangan mudah🙂

20 thoughts on “Indexing, Crawling, dan Searching menggunakan Sphider

      1. Saya sudah memakai sphider di website saya, apakah bisa kita merubah headernya agar sesuaikan dengan header di website kita? kalau bisa bagaimana caranya? saya mohon petunjuk dari saudara.

  1. Saya sudah memakai sphider di website saya, tapi saya ingin merubah tampilan headernya misalnya saya mau tampilan header sesuai dengan website saya. Saya sudah pernah ganti tampilan headernya dengan sebuah foto tapi saat di upload ke internet ngak keluar fotonya tapi kalau di localhost jalan. Saya ngak tahu mau tambah apalagi..saya mohon bantuan dari saudara semoga bisa membantu saya.
    Terima kasih sebelumnya.

      1. kalau maksudnya header itu logo, bisa buka file search.php (di direktori sphider) kemudian dari temukan

        function poweredby () {
        	global $sph_messages;
            //If you want to remove this, please donate to the project at http://www.sphider.eu/donate.php
            print $sph_messages['Powered by'];?>  <a href="http://www.sphider.eu/"><img src="sphider-logo.png" border="0" style="vertical-align: middle" alt="Sphider"></a>
        
            <?php 
        }
        

        anda bisa ganti source image-nya, hanya saja anda disarankan untuk memberikan donasi kepada developer sphider.
        regrads^^

  2. waktu http://localhost/sphider/search.php?query=sekolah+vokasi&search=1 keluarnya ini :

    Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\sphider\include\searchfuncs.php on line 154
    Table ‘sphider.domains’ doesn’t exist
    Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\sphider\include\searchfuncs.php on line 417
    Table ‘sphider.domains’ doesn’t exist

    solusinya gimana ya min ?

  3. Saat indexing berjalan, tiba2 keluar gini:
    Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2097152 bytes) in C:\xampp\htdocs\sphider\admin\spider.php on line 441
    cara memperbaikinya gimana ya gan?

  4. min mau tanya seperti ini kenapa ya ?
    C:\xampp\htdocs\sphider\include\searchfuncs.php on line 154
    Table ‘sphider.domains’ doesn’t exist
    Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\sphider\include\searchfuncs.php on line 417
    Table ‘sphider.domains’ doesn’t exist

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s