Posted by: Wildan Maulana | January 20, 2009

Crawling Filesystem Lokal dengan Nutch

Platform : Ubuntu/nutch-0.1-dev

Format-format dokumen yang telah di uji coba  :

  • doc : sukses
  • pdf : sukses
  • txt : sukses
  • odt : sukses
  • ods : sukses
  • odp : sukses
  • sxi : sukses
  • ppt : sukses
  • xls : sukses
  • xml : sukses
  • rtf : sukses
  • mp3 : sukses

Pada artikel ini, anggaplah NUTCH_TRUNK = /home/wildan/jobstuff/LIPI/Ngoprek/nutch/  ,  NUTCH_HOME=/opt/nutch-trunk, dan CRAWL_HOME=/opt/nutch-trunk/crawl-localfs

  1. Checkout trunk Nutch source code dari subversion repository-nya : http://svn.apache.org/repos/asf/lucene/nutch/
    Disarankan menggunakan eclipse plugin (http://subclipse.tigris.org/), simpan source code ini di NUTCH_TRUNK
  2. Untuk mencegah agar nutch tidak meng-crawling parent directory, maka ubahlah org.apache.nutch.protocol.file.FileResponse.getDirAsHttpResponse(java.io.File f)., yaitu pada baris :this.content = list2html(f.listFiles(), path, "/".equals(path) ? false : true);menjadithis.content = list2html(f.listFiles(), path, false);
  3. Kompilasi Ulang
    Sebelum melakukan kompilasi ulang, buatlah file build.properties di dalam direktori NUTCH_TRUNK, kemudian tulis :dist.dir=NUTCH_HOME , atau dikasus menurut contoh yang saya berikan :dist.dir=/opt/nutch-trunk

    Kemudian, jika ingin menggunakan plugin parse-rtf dan parse-mp3 (tidak diikutsertakan dalam source karena lisensi kedua  library ini tidak memenuhi syarat lisensi apache), downloadlah file :

    Kemudian copy kedua file ini secara berurutan ke src/plugin/parse-mp3/lib dan src/plugin/parse-rtf/lib/, kemudian, bukalah file
    NUTCH_TRUNK/build.xml , cari baris berikut :

    <!–  <packageset dir=”${plugins.dir}/parse-rtf/src/java”/> plugin excluded from build due to licensing issues–>
    <!–  <packageset dir=”${plugins.dir}/parse-mp3/src/java”/> plugin excluded from build due to licensing issues–>

    Hapus komentarnya sehingga menjadi :

    <packageset dir=”${plugins.dir}/parse-rtf/src/java”/>
    <packageset dir=”${plugins.dir}/parse-mp3/src/java”/>

    dan juga di NUTCH_TRUNK/src/plugin/build.xml

    <!– <ant dir=”parse-mp3″ target=”deploy”/> –>
    <!– <ant dir=”parse-rtf” target=”deploy”/> –>
    <!–<ant dir=”parse-mp3″ target=”test”/> –>
    <!– <ant dir=”parse-rtf” target=”test”/> –>

    menjadi :

    <ant dir=”parse-mp3″ target=”deploy”/>
    <ant dir=”parse-rtf” target=”deploy”/>

    jalankan perintah :

    $ant package

    CATATAN :
    Dalam trunk revision  734360 plugin parse-mp3 dan parse-rtf masih mengalami compilation error,  :

    Untuk parse-mp3, saya telah mencoba membuat issue dan patch nya yang bisa dilihat dan didownload di alamat berikut :

    https://issues.apache.org/jira/browse/NUTCH-681

    Sedangkan untuk parse-rtf sudah ada yang membuat patch nya, downloadlah patch parse-rtf disini :

    https://issues.apache.org/jira/secure/attachment/12387819/RTFParseFactory.java-compilation_issues.diff

    Kemudian, terapkan patch ini dengan menjalankan perintah berikut pada NUTCH_TRUNK

    $patch -p0 < /home/wildan/Desktop/RTFParseFactory.java-compilation_issues.diff

    begitu juga untuk patch-patch parse-mp3

    Jika sudah, maka Kita akan mendapat hasilnya pada NUTCH_HOME,seperti berikut :

    $ls -1 /opt/nutch-trunk/
    bin
    build.xml
    CHANGES.txt
    conf
    default.properties
    docs
    lib
    LICENSE.txt
    NOTICE.txt
    nutch-1.0-dev.jar
    nutch-1.0-dev.job
    nutch-1.0-dev.war
    plugins
    README.txt
    src
    webapps

  4. Buat direktori baru untuk menyimpan hasil crawling.$cd NUTH_HOME
    $mkdir crawl-localfs
    $cd crawl-localfs
  5. Copy file konfigurasi :
    Dengan cara ini Kita dapat bereksperimen dengan berbagai konfigurasi yang berbeda …$cp -rvf NUTCH_HOME/conf .
  6. Modifikasi nutch-site.xmlBersambung ….

Referensi :

[1] Run Nutch In Eclipse0.9,  http://wiki.apache.org/nutch/RunNutchInEclipse0.9

[2] Crawling the local filesystem with nutch ,  http://www.folge2.de/tp/search/1/crawling-the-local-filesystem-with-nutch

[3] parse-mp3 compilation problem, https://issues.apache.org/jira/browse/NUTCH-681

[4]Luke – Lucene Index Toolbox,  http://www.getopt.org/luke/


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

Categories

%d bloggers like this: