title: Storm Crawler Configuration with Tika for recursive crawls
body: <p>I want to include tika parser to my topology. I have set <code>jsoup.treat.non.html.as.error</code> as <code>false</code> in the config and I have set up the tika topology as described in the storm crawler documentation. </p>
  
  <p>The settings of the crawl topology are as follows:</p>
  
  <pre><code>builder.setSpout("spout", new MemorySpout(testURLs));
  
  builder.setBolt("partitioner", new URLPartitionerBolt()).shuffleGrouping("spout");
  
  builder.setBolt("fetch", new FetcherBolt()).fieldsGrouping("partitioner", new Fields("key"));
  
  builder.setBolt("sitemap", new SiteMapParserBolt()).localOrShuffleGrouping("fetch");
  
  builder.setBolt("jsoup", new JSoupParserBolt()).localOrShuffleGrouping("sitemap");
  
  builder.setBolt("shunt", new RedirectionBolt()).localOrShuffleGrouping("jsoup");
  
  builder.setBolt("tika", new ParserBolt()).localOrShuffleGrouping("shunt", "tika");
  
  builder.setBolt("indexer", new HBaseIndexerBolt(), numWorkers).localOrShuffleGrouping("shunt")
                      .localOrShuffleGrouping("tika");
  
  builder.setBolt("status", new MemoryStatusUpdater()).localOrShuffleGrouping(Constants.StatusStreamName)
                      .localOrShuffleGrouping("sitemap", Constants.StatusStreamName)
                      .localOrShuffleGrouping("shunt", Constants.StatusStreamName)
                      .localOrShuffleGrouping("tika", Constants.StatusStreamName)
                      .localOrShuffleGrouping("indexer", Constants.StatusStreamName);
  
  return submit("crawl", conf, builder);
  </code></pre>
  
  <p>With this topology, I have received Invalid Topology exception. The problem seems to be caused by the status bolt. Because, when I excluded the status bolt, my crawl topology works without any problem. How should I configure status bolt?</p>