如何在Nutch 2.1 solrindex命令中过滤URL

时间:2013-05-07 14:54:28

标签: java solr nutch

当我运行bin/nutch solrindex命令时,如何防止我获取的某些页面被编入索引?我想定义并使用regex-urlfilter.txt,就像我在获取时所做的那样。

我正在使用Nutch 2.1并根据http://wiki.apache.org/nutch/bin/nutch%20solrindex选项刚刚消失。我检查了源代码,无法找到有关此事的任何线索。

有没有解决方法?

2 个答案:

答案 0 :(得分:2)

似乎应该使用索引过滤器插件。

我跟着Hartl's tutorial组织并链接了源代码。

以下是代码的有趣部分:

public NutchDocument filter(NutchDocument doc, String url, WebPage page)
    throws IndexingException {
    String input_url = url;
    try {
        url = urlNormalizers.normalize(url, URLNormalizers.SCOPE_DEFAULT);
        url = urlFilters.filter(url); // filter the url
    } catch (Exception e) {
        LOG.warn("Skipping " + input_url + ":" + e);
        return null;
    }  
    if (url == null) {
        LOG.info("Skipping (filter): " + input_url);
        return null;
    }  
    return doc;
}

public void setConf(Configuration conf) {
    this.conf = conf;
    this.urlFilters = new URLFilters(conf);
    urlNormalizers = new URLNormalizers(conf, URLNormalizers.SCOPE_INJECT);
}  

答案 1 :(得分:0)

您的排除标准是什么?

你可以在fetch / parse阶段排除它们吗?