1

我正在使用 nutch 1.5 和 solr 3.5。我想知道通过 nutch 更新 solr 索引的最佳方法。nutch 中的 seedlist.txt 包含大约一百万个 url。每天都会添加新的网址。此外,一些网址将被删除或更新。

nutch 命令“./nutch crawl urls -solr /solr/ -dir crawl -depth 1 -topN 10”将获取新添加的 url 以进行索引。但是,更新和删除的 url 根本不会被触及。

通过删除爬网文件夹并再次重新索引将修复“添加”和“更新”问题。但是,爬取一百万个 url 需要很长时间,而且 Solr 中仍然存在“删除” urls 索引。

我唯一想删除 Solr 索引是使用更新命令,如“update?commit=true&stream.body=id:xxxx”。

我在正确的方向吗?还是有更好的方法来做到这一点?

4

2 回答 2

0

您几乎可以肯定需要将新的 url 注入现有的 crawldb(查找 bin/nutch 注入),您也可以发出 bin/nutch readdb ... -dump dumpfolder - 这将向您显示这些旧 url 需要多长时间再次被抓取。

于 2013-10-13T15:25:44.467 回答
0

您可以更改已变为非活动或已删除的 url 的设置,因此当您尝试重新抓取它们时,它会将它们标记为 DB_GONE。更改此设置将根据您自己的选择删除这些 url。

<property>
  <name>db.update.purge.404</name>
  <value>true</value>
  <description>If true, updatedb will add purge records with status DB_GONE
  from the CrawlDB.
  </description>
</property>

查看http://amac4.blogspot.com/2013/08/nutch-re-crawling.html了解更多详情

于 2013-10-14T08:41:03.250 回答