【问题标题】:nutch configuration for multiple solr cores多个 solr 内核的 nutch 配置
【发布时间】:2016-01-22 04:09:53
【问题描述】:

我在 Linux 上使用 Nutch 1.9 和 Solr 4.10。我需要对一个大型网站的内容进行爬网和索引,并希望使用单独的 Solr 内核来完成这项工作。以下是作为 cronjob 一部分的 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. 我想知道core01 是什么意思,core12 是什么意思?
  2. 我使用conf/core0urlsconf/core1urls 创建了单独的seed.txt 文件。这行得通,但我想为每个核心分别提供regex-urlfilter.txt 文件,Nutch 应该检测到它。请告诉我如何实现它。
  3. 如果在单个 Nutch 中无法实现上述操作,我是否应该为每个 Solr 内核设置单独的 Nutch 实例?

【问题讨论】:

    标签: solr web-crawler nutch


    【解决方案1】:

    您需要创建两个 nutch 实例来推送到不同的 solr 核心(或服务器)。问题是您想使用不同的 regex-urlfilter.txt 文件。从技术上讲,您可以使用单个 nutch 实例来做到这一点,但这需要您编写大量代码。因此,最短最简单的方法是设置两个 nutch 实例。

    关于抓取命令参数,

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

    这里的 1 值表示只抓取 core0urls 中的网址。不要去第二个深度爬取第一次爬取生成的url。基本上,你是在吃午饭。

    【讨论】:

    • 感谢您的意见。 1> 如果我已经设置了 /nutch/nutchcore0 所以重新确认,所以从这里复制所有文件并在 cronjob cd /nutch/nutchcore0 /bin/crawl conf/core0urls crawl solrhost:8085/solr/core0 1 cd /nutch/nutchcore1 中创建 /nutch/nutchcore1 ./bin/crawl conf/core1urls crawl solrhost:8085/solr/core1 1 2> 所以对于 1 值仍然有几个问题这是否意味着如果在 conf/core0urls/seed.txt 我有 aaa.com bbb.com ccc.com 那么它会只抓取aaa.com,不会抓取其他网站bbb.comccc.com
    • 第 1 条你是对的。但是,对于第 2 条,它会抓取所有 url。但是,它不会抓取在 aaa.com、bbb.com 或 ccc.com 中找到的链接。如果您将抓取深度设置为 2,那么它也会抓取这些链接。如果您觉得有用,请接受我的回答或投票。
    • 重新确认是否设置为 1 它只会爬取 aaa.com ,bbb.com,ccc.com 。所以你的意思是如果我设置 2 它会爬取在上述网址中找到的所有链接。有没有像 3,4 之类的其他值,......这很好。
    • Nutch 的工作原理是抓取 url,然后从抓取的站点中提取链接并将它们放入下一次抓取。在下一次爬网中,它会从新爬网的站点中提取链接,并在下一次爬网中再次放入。所以,是呼吸先爬行。它不断提取网址并抓取它们。您的限制越深,您获得的网址和抓取内容就越多。
    猜你喜欢
    • 2019-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-15
    相关资源
    最近更新 更多