【问题标题】:update solr index by nutch通过 nutch 更新 solr 索引
【发布时间】:2013-01-18 07:12:28
【问题描述】:

我正在使用 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”。

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

【问题讨论】:

    标签: solr nutch


    【解决方案1】:

    您几乎肯定需要将新的 url 注入现有的 crawldb(查找 bin/nutch 注入),您也可以发出 bin/nutch readdb ... -dump 转储文件夹 - 这将告诉您需要多长时间那些旧的 url 又被爬取了。

    【讨论】:

      【解决方案2】:

      您可以更改已变为非活动或已删除的 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了解更多详情

      【讨论】:

        猜你喜欢
        • 2023-03-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-25
        • 1970-01-01
        • 2018-07-01
        • 2016-05-26
        相关资源
        最近更新 更多