用nutch更新solr索引

时间:2013-01-18 07:12:28

标签: solr nutch

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

nutch命令“./nutch crawl urls -solr / solr / -dir crawl -depth 1 -topN 10”将拾取新添加的用于索引的URL。但是,更新和删除的网址根本不会被触及。

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

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

我正朝着正确的方向前进吗?或者有更好的方法来做到这一点?

2 个答案:

答案 0 :(得分:0)

你几乎肯定需要将新网址注入现有的crawldb(查找bin / nutch注入),你也可以发出一个bin / nutch readdb ... -dump dumpfolder - 这将显示它将持续多长时间那些旧的网址又被抓了。

答案 1 :(得分:0)

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

<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了解详情