在java中为nutch编写代码

时间:2011-04-10 06:54:40

标签: java parsing nutch

您好: 我正在用java编写代码用于nutch(开源搜索引擎)以从索引器中删除阿拉伯语单词中的运动。 我不知道它的错误是什么。 这是代码:

package com.mycompany.nutch.indexing;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.io.Text;
import org.apache.log4j.Logger;
import org.apache.nutch.crawl.CrawlDatum;
import org.apache.nutch.crawl.Inlinks;
import org.apache.nutch.indexer.IndexingException;
import org.apache.nutch.indexer.IndexingFilter;
import org.apache.nutch.indexer.NutchDocument;
import org.apache.nutch.parse.getData().parse.getData();


public class InvalidUrlIndexFilter implements IndexingFilter {

  private static final Logger LOGGER = 
    Logger.getLogger(InvalidUrlIndexFilter.class);

  private Configuration conf;

  public void addIndexBackendOptions(Configuration conf) {
    // NOOP
    return;
  }

  public NutchDocument filter(NutchDocument doc, Parse parse, Text url,
      CrawlDatum datum, Inlinks inlinks) throws IndexingException {
    if (url == null) {
      return null;
    }



    char[] parse.getData() = input.trim().toCharArray();
        for(int p=0;p<parse.getData().length;p++)
          if(!(parse.getData()[p]=='َ'||parse.getData()[p]=='ً'||parse.getData()[p]=='ُ'||parse.getData()[p]=='ِ'||parse.getData()[p]=='ٍ'||parse.getData()[p]=='ٌ' ||parse.getData()[p]=='ّ'||parse.getData()[p]=='ْ' ||parse.getData()[p]=='"' ))
            new String.append(parse.getData()[p]);

    return doc;
  }

  public Configuration getConf() {
    return conf;
  }

  public void setConf(Configuration conf) {
    this.conf = conf;
  }
}

我认为错误在于使用parse.getdata(),但我不知道应该使用什么而不是它?

1 个答案:

答案 0 :(得分:1)

该行

char[] parse.getData() = input.trim().toCharArray();

会给你一个编译错误,因为左边不是变量。请在此行中使用唯一的变量名称(例如parse.getData())替换parsedData以及以下行。

第二次导入

import org.apache.nutch.parse.getData().parse.getData();

也会失败。看起来很像文本替换问题。