2016-12-30 197 views
1

一個相關的Question on Stackoverflow存在,但它被問到六年半前。自那時以來,尤其在Nutch中發生了很多變化。基本上我有兩個問題。Nutch v Solr v Nutch + Solr

  1. 我們如何比較Nutch和Solr?

  2. 在什麼情況下我們需要以及爲什麼最好整合這兩者並用於爬網?這與在獨立模式(或hadoop)中使用它們有什麼不同?

回答

2

在現階段的Nutch僅用於抓取網絡內容,這意味着訪問一個網頁,提取內容,找到更多的鏈接,並重復這一過程(我跳過了很多複雜的東西之間負責,但希望你能明白)。

抓取過程的最後一步是將數據存儲在後端(ES/Solr是1.x分支上受支持的數據存儲區)。因此,在這一步中,Solr開始遊戲,在Nutch完成其工作之後,您需要將數據存儲在某處以便能夠在其上執行查詢:這是Solr工作。 (前面提到的問題),但是這個決定(也是前一段時間)是爲了贊成使用Solr/ES(或任何其他的存儲器)而不贊成使用Solr/ES你可以寫一個索引器插件)。現在,索引插件是可插入的,您可以爲所需的任何數據存儲編寫插件。

摘要:Nutch是一個爬蟲,Solr是Nutch存儲抓取的數據的搜索引擎。

+0

很好的解釋。還有一個問題,Solr在基於hadoop和nutch的爬行系統中處於什麼位置? –

+1

Solr通常部署在hadoop之外,Nutch運行在Hadoop集羣之上(在分佈式爬網設置上)。雖然你可以在HDFS上運行Solr(https://cwiki.apache.org/confluence/display/solr/Running+Solr+on+HDFS) –

+0

好。感謝您的好評。我接受了答案。 –

0
  1. Nutch和Solr是兩個不同的東西。 Nutch只是抓取網頁並分析網頁的內容,而Solr負責索引,即當Solr與Nutch集成時,存儲由Nutch抓取的內容。

  2. 當您需要在抓取網頁時檢索並存儲數據時,您需要將Solr與Nutch集成。如果你不需要存儲或索引任何東西,那麼你不需要Solr。當您想要存儲數據時,Solr非常有用,Nutch會抓取並執行數據搜索。