實在是等不及了,下了開發版的nutch2.0來玩玩,nutch2.0有什麼不同呢?從官網wiki(見參考資料)可看到,主要是以下幾個方面:
1.抽象儲存層
把儲存層抽象出來,不僅像之前那樣可以存放在hdfs上,也可以存在其它nosql中,如:hbase,cassandra,或關聯式資料庫。
2.精簡外掛程式
之前是差不多是一種檔案使用一個外掛程式來進行解析,現在主要是使用Tika來解析各種文檔(見:http://wiki.apache.org/nutch/TikaPlugin),tika是個強大的文檔處理庫,網上常見的文檔(etc
html、pdf、word、excel、powerpoint... )它都可以解析。
3.提取爬蟲的公用功能
可把url過濾,url狀態控制,索引去重,這些公用爬蟲功能提取出來,供其它爬蟲或相似項目(如:bixo, heritrix,droids)使用,就像tika被提取出來作為各種文檔的解析工具那樣。
4.抽象索引過程
提供一個輕量級的抽象層來整合來自其它搜尋方塊架的索引/搜尋功能,nutch2.0最終只是把文檔從DOM轉化為NutchDocument,去掉搜尋、索引的功能,交給第三方做。
5.重寫solr索引去重
所有操作都通過webtable來進行,同時避免從solr中檢索資料。
6.各種新功能
如:支援網站地圖,規範標籤,更好控制跳轉,發現重複網站,web圖管理工具等。
下面是開發版的三個亮點:
亮點 1 支援多種持久化層
從nutch2.0的源碼來看,儲存層已經換成了gora,gora是apache的一個項目,主要是作為nosql的orm架構(也支援sql),目前支援hbase,cassandra,accumulo(美國國家安全域(NSA)向Apache基金會捐贈了一個新資料庫專案,提供了細粒度存取控制,來頭不小),和關聯式資料庫(開發中,功能未完善)。gora項目地址:http://gora.apache.org
亮點 2 restful風格的服務介面
nutch2.0可以把nutch作為一個爬蟲服務,通過rest介面管理爬蟲狀態,絕對是個好東西。
亮點 3 簡化解析外掛程式
nutch2.0使用tika庫來解析各種文檔,tika庫封裝了常用文檔的解析類(如:poi,pdfbox這些),配置外掛程式時只需配置解析html和tika就行了,方便了很多。
目前的開發版索引和搜尋的抽象層還沒有開發出來,主要還是使用solr作為主要的索引/搜尋支撐,其它上面提到的特性不知道實現了沒有,要看看源碼知道。
添加了對nosql儲存層的支援,nutch和google原先的模型很像了,google的Distributed File SystemGFS,nutch的HDFS,同樣是使用mapreduce演算法處理,儲存層google的bigtable,nutch的hbase、cassandra、accumulo(三個nosql都是基於bigtable論文)。不過這些都差不多是google十年前的技術了,現在不知道改進了多少,還是期待nutch2.0早日發布。
參考資料:
http://wiki.apache.org/nutch/Nutch2Roadmap
http://www.searchtech.pro/articles/2013/02/18/1361192452131.html
本文地址:http://blog.csdn.net/laigood12345/article/details/7626394