Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Nutch 2.1 solrindex命令中过滤URL_Java_Solr_Nutch - Fatal编程技术网

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

Java 如何在Nutch 2.1 solrindex命令中过滤URL,java,solr,nutch,Java,Solr,Nutch,当我运行bin/nutch solrindex命令时,如何防止我获取的某些页面被索引?我想定义和使用regex-urlfilter.txt,就像我在获取时所做的那样 我正在使用Nutch2.1,根据选项,它刚刚消失。我查了源代码,找不到任何线索 有什么解决办法吗?您的排除标准是什么 您能在获取/解析阶段排除它们吗?似乎应该使用索引过滤器插件 我按照下面的步骤组织和链接源代码 下面是代码中有趣的部分: public NutchDocument filter(NutchDocument doc, S

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

我正在使用Nutch2.1,根据选项,它刚刚消失。我查了源代码,找不到任何线索


有什么解决办法吗?

您的排除标准是什么


您能在获取/解析阶段排除它们吗?

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

我按照下面的步骤组织和链接源代码

下面是代码中有趣的部分:

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

我正在抓取有两种页面类型的网站:“记录列表”(链接)和“记录”。我需要取第一个来检索指向记录的链接。但我只对索引“记录”页面感兴趣。你有权访问这些页面吗?如果是这样,您可以添加metatagcontent=“noindex,follow”,Nutch会尊重这一点,提取大纲链接,但不爬行内容。如果不这样做,则可以在SOLRI中的查询阶段过滤结果。SOLRI没有访问权限,我正在爬行数量不受限制的选定网站,因此在查询阶段这样做似乎有点繁重:/我现在正在研究两个选项:索引过滤器(我必须编写一个nutch插件)或者重写我自己的hadoop/hbase索引工作……看来编写一个定制的Nutch插件是前进的方向。您可以从lib regex urlfilter开始,这应该是一个很好的起点。