2016-09-16 43 views

回答

1

Nutch 1.x =>不開箱即用。你必須修改Injector代碼,以便從MySQL讀取,但這當然是可行的。我很早以前就爲一個客戶做過這件事。

另外,你可以使用StormCrawler,它有一個MySQL模塊,應該沒有額外的工作來讓它工作。我們博客上的Cloudsearch tutorial顯示瞭如何在SC上使用MySQL。

Nutch 2.x使用GORA作爲中間層,IIRC有一個SQL插件。不確定其狀態以及這是否合適。

+0

朱利安您好,感謝您的回答。我只對Nutch感興趣。是的,在Gora支持apache nutch 2.3.1中有一個mysql插件,但我認爲它僅用於存儲數據而不用於URL輸入。我不確定當我取消註釋mysql和mongodb時(如果我只想將結果保存在mongodb中)會發生什麼情況。 – Sparkan

+0

取消註釋可能會導致一個可愛的混亂我猜;-)。如果我是你,我會堅持使用Nutch 1.x(更好的性能,更少的配置等),並編寫一個定製的Injector。無論如何,你必須對Nutch2.x進行同樣的處理,除非你使用與GORA相同的序列化來處理你的種子,這可能不是你想要的。 –

3

由於Julien說你應該修改INJECTOR代碼來實現這一點。不過,我可以爲此提出解決方法。您可以使用命令bin/nutch startserver在服務器模式下使用NUTCH,然後從數據庫加載您的種子URL。然後,您可以使用Nutch REST API使用從數據庫加載的URL創建種子列表,並將創建的種子文件指向INJECT作業創建服務調用。

你可以找到關於此REST API的詳細信息: -

http://nutch.apache.org/miredot/1.12/index.html#1153761698https://docs.google.com/document/d/1OGg22ATohapP2ycewIaTcUnENc2FeyYzni0ED_Jjxz8/edit https://wiki.apache.org/nutch/NutchRESTAPI