我使用的是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”。
我正朝着正确的方向前进吗?或者有更好的方法来做到这一点?
答案 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了解详情