2016-01-22 49 views
0

我在Linux上使用Nutch 1.9和Solr 4.10。我需要抓取並索引大網站的內容,並希望使用單獨的Solr內核來執行此操作。以下是Nutch配置作爲cronjob的一部分...用於多個solr內核的nutch配置

./bin/crawl conf/core0urls crawl http://solrhost:8085/solr/core0 1 
./bin/crawl conf/core1urls crawl http://solrhost:8085/solr/core1 2 

我有一個cronjob設置爲上述一分鐘。可能有人幫助我在下面......

  1. 我想知道core0是什麼意思1core1什麼2是什麼意思?
  2. 我使用conf/core0urlsconf/core1urls創建了單獨的seed.txt文件。這是有效的,但我想爲每個核心單獨的regex-urlfilter.txt文件和Nutch應該檢測到它。請讓我知道我該如何實現它。
  3. 如果單個Nutch中無法實現上述操作,我應該爲每個Solr內核設置單獨的Nutch實例嗎?

回答

0

您需要創建nutch的兩個實例以推送到不同的solr核心(或針對該問題的服務器)。問題是你想要使用不同的regex-urlfilter.txt文件。從技術上講,你可以用一個nutch實例來做到這一點,但它需要你編寫大量的代碼。因此,最簡單的方法是設置兩個nutch實例。

至於抓取命令參數,

./bin/crawl conf/core0urls crawl http://solrhost:8085/solr/core0 1 

的值在這裏是指在core0urls只抓取網址。不要轉到第二個深度並抓取從第一次抓取中生成的網址。基本上,你正在進行一次爬行。

+0

感謝您的意見。如果我有安裝 1> 所以reconfriming/Nutch的/ nutchcore0因此,所有的文件從這裏複製和創建/ Nutch的/ nutchcore1 中的cronjob CD/Nutch的/ nutchcore0 /斌/爬行的conf/core0urls抓取HTTP :// solrhost:8085/solr的/ CORE0 1 坎德拉/的nutch/nutchcore1 ./bin/crawl CONF/core1urls抓取的http:// solrhost:8085/solr的/核心-1 1 2> 所以 1值仍然有幾個問題,這是否意味着 所以如果在conf/core0urls/seed.txt 我有 http://aaa.com http://bbb.com http://ccc.com 那麼它只會抓取http://aaa.com,它不會抓取其他網站http://bbb.com或http:// ccc.com – user3732294

+0

你是對的第一號。然而,對於第二號,它將抓取所有的網址。但是,它不會抓取在aaa.com,bbb.com或ccc.com中找到的鏈接。它將抓取深度設置爲2,然後它將抓取這些鏈接。如果您發現它有用,請介意接受我的答案或爲其投票。 – ameertawfik

+0

重新確認如果設置爲1,它只會抓取aaa.com,bbb.com,ccc.com。因此,如果我設置了2,它將抓取上述URL中找到的所有鏈接。有沒有其他的值,如3,4,...有什麼好的。 – user3732294