【问题标题】:Generate only unfetched urls instead of scored Nutch 2.3只生成未获取的 url,而不是得分 Nutch 2.3
【发布时间】:2017-05-16 05:16:59
【问题描述】:

在 Nutch 2.x 中,有没有办法只生成未获取的 url 而不是基于分数?

【问题讨论】:

    标签: apache web-crawler nutch


    【解决方案1】:

    嗯,对于 Nutch 1.x,您可以使用自 Nutch 1.12 以来提供的 jexl 支持(我认为):

    $ bin/nutch generate -expr "status == db_unfetched" 
    

    使用此命令,您可以确保只考虑具有db_unfetched 状态的 URL 来生成您要抓取的分段。

    此功能在 2.x 分支上仍然不可用,但编写自定义 GeneratorJob 可以解决问题。

    另一方面,由于生成器 Job 已经在考虑对要获取的 URL 列表进行排序的分数,也许更简单的方法是编写自定义 ScoringFilter

    例如,如果您看一下:https://github.com/apache/nutch/blob/2.x/src/java/org/apache/nutch/scoring/ScoringFilter.java#L69-L81,ScoringFilter 已经提供了一个 generatorSortValue 方法,仅用于为生成器作业生成评分值,因此您可以编写自己的方法来提升那些处于未获取状态的 URL .

    【讨论】:

    • 谢谢!我认为也可以通过从“plugin.includes”中删除所有评分过滤器来实现?
    • 是的,但在这种情况下,我认为您将获得所有 1.0 分的 url,没有任何状态之间的区别,因此在这种情况下,首先提供/获取,尽管生成器可能首先收集未获取的(根据文档)所以可以工作。不确定 2.x 中是否相同。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-29
    • 1970-01-01
    • 2019-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多