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

标签 java solr nutch

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

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

有什么解决方法吗?

最佳答案

看来应该使用索引过滤插件。

我关注了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);
}  

关于java - 如何在 Nutch 2.1 solrindex 命令中过滤 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16422182/

相关文章:

search - SOLR-如何将构面计数限制为结果集中返回的行

java - Nutch 不会抓取带有查询字符串参数的 URL

java - 使用 Nutch 抓取...显示 IOException

java - 覆盖 JComboBox 默认颜色

java - 如何将光标手/指针设置到JCheckbox?

java - Android:运行 TCP 服务器所需的任何特殊权限(互联网除外)

java - 使用什么设计模式来实现事务或链接机制

ruby-on-rails - Sunspot Solr Gem & .gitignore

solr - SOLR 中 edismax 排名的子查询评分和协调

solr - Nutch 1.11(1.x) 和 Solr 5.3.1(5.x) 之间的集成