2013-05-07 15 views

回答

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); 
} 
0

您的排除标准是什么?

你可以在提取/分析阶段排除它们吗?

+0

我爬行有两种类型的页网站:“记录单”(链接)和“记录”。我需要取得第一个检索通往记录的链接。但我只对索引“记录”页面感兴趣。 – Thomas 2013-05-16 09:54:20

+0

你有权访问这些页面吗?如果是这样,你可以添加一个元标记内容=“noindex,跟随”和Nutch将尊重,提取outlinks但不抓取内容。 – nimeshjm 2013-05-16 20:51:45

+0

如果您不这样做,那么您可以在SOLR – nimeshjm 2013-05-16 20:54:04