public void execute(String path) {
        IndexWriter writer = null;
        IndexSearcher searcher = null;
        try {
            File indexDir = new File(System.getProperty("java.io.tmpdir"), "akka-index");
            writer = openWriter(indexDir);
            
            StopWatch stopWatch = new LoggingStopWatch();
            execution.downloadAndIndex(path, writer);
            stopWatch.stop(execution.getClass().getSimpleName());
            
            searcher = openSearcher(indexDir);
            TopDocs result = searcher.search(new MatchAllDocsQuery(), 100);

            logger.info("Found {} results", result.totalHits);
            
            for(ScoreDoc scoreDoc: result.scoreDocs) {
                Document doc = searcher.doc(scoreDoc.doc);
                logger.debug(doc.get("id"));
            }

            searcher.close();
        } catch (Exception ex) {
            logger.error(ex.getMessage(), ex);
            if (writer != null) {
                try {
                    writer.rollback();
                } catch (IOException ex1) {
                    logger.error(ex1.getMessage(), ex1);
                }
            }
        } finally {
            if (writer != null) {
                try {
                    writer.close();
                } catch (CorruptIndexException ex) {
                    logger.error(ex.getMessage(), ex);
                } catch (IOException ex) {
                    logger.error(ex.getMessage(), ex);
                }
            }
            if (searcher != null) {
                try {
                    searcher.close();
                } catch (IOException ex) {
                    logger.error(ex.getMessage(), ex);
                }
            }
        }


    }