2009年3月17日 星期二

[技術]NUTCH

NUTCH是個JAVA版本SPIDER系統,只是提到SPIDER系統,一定要打岔提到STANFORD WEBBASE,這是GOOGLE創辦人還在學校時的計劃,C++版本,花過一些時間研究程式碼,只能用美到不可方物,夢幻到無法直視來形容.

不過C++實在太麻煩,我等俗輩終究還是得朝JAVA或是C#靠攏.會選擇NUTCH因為1.還在更新2.擴張性佳3.PLUGIN完整4.主結構簡潔5.不使用資料庫

就主結構簡潔來說,各個網頁沒有單獨ID最是神奇,有個小區域存放著URL為鍵值的TABLE,實際上各URL內容分佈在不同SEGMENTS,原本最困難的地方在這個小TABLE比對,現在加入HADOOP的MAP/REDUCE,完全沒有問題.而且幾個版本下來,系統越來越簡潔,煩雜混亂的工作全部由HADOOP處理,而我看過的HADOOP應用程式中,NUTCH是用的最最最最最好,最最最最最能學到HADOOP精神的應用.從NUTCH早期版本到現在,幾乎就是跟著GOOGLE論文順序GFS(NDFS),MAPREDUCE(HADOOP)前進.

當然也是有缺點的,因為PLUGIN太多,要調整的參數太多,導致初學者不容易運用,這部份可能會由Apache Droids取代.而在分散式索引部份,目前架構是有限制的,未來可能會由KATTA取代.

我自己將NUTCH定位於HADOOP學習範例,過程是建立一個空專案,僅將使用到的PACKAGE拉進來.目前有嘗試透過它抓取GOOGLE BLOG SEARCH,並且用自己的PLUGIN抽取出BLOGGER對景點評價,也正在套用索引和搜尋及摘要.

沒有留言:

張貼留言