batchId的设置目前我只在generate过程中发现并将其设置到了conf之中,这里是没有疑问的。
但是在fetch过程之中,fetch首先获得的是根据String batchId = (String)args.get(Nutch.ARG_BATCH);
然后在之下直接
if (batchId == null) {
batchId = Nutch.ALL_BATCH_ID_STR;
}
那么,我个人就觉得这样做,要batchid何用呢?在代码里没有发现有args.set(Nutch.ARG_BATCH)的地方(可能是没细看),由此,batchid永远的是-all,在这个方法里,应该改为:
if (batchId == null) {
batchId = getConf().get(GeneratorJob.BATCH_ID); if(batchId==null) batchId = Nutch.ALL_BATCH_ID_STR; }一家之言,总之我在程序运行过程中发现的这样设置之后是达到效果的!