【发布时间】:2013-05-07 14:54:27
【问题描述】:
当我运行bin/nutch solrindex 命令时,如何防止我获取的某些页面被编入索引?我想定义和使用一个 regex-urlfilter.txt,就像我在获取时所做的那样。
我正在使用 Nutch 2.1,根据 http://wiki.apache.org/nutch/bin/nutch%20solrindex,该选项刚刚消失。查了源码,没找到任何线索。
有什么解决办法吗?
【问题讨论】:
当我运行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);
}
【讨论】:
您的排除标准是什么?
您可以在获取/解析阶段排除它们吗?
【讨论】: