package org.genedb.crawl.elasticsearch.index.json; import java.io.IOException; import java.text.ParseException; import org.apache.log4j.Logger; import org.elasticsearch.action.admin.indices.flush.FlushRequest; import org.elasticsearch.action.admin.indices.flush.FlushResponse; import org.elasticsearch.client.IndicesAdminClient; import org.genedb.crawl.elasticsearch.index.NonDatabaseDataSourceIndexBuilder; import org.kohsuke.args4j.Option; public class OrganismIndexBuilder extends NonDatabaseDataSourceIndexBuilder { static Logger logger = Logger.getLogger(OrganismIndexBuilder.class); @Option(name = "-o", aliases = { "--organism" }, usage = "The organism, expressed as a JSON.", required = false) public String organism; public void run() throws IOException, ParseException, SecurityException, IllegalArgumentException, NoSuchFieldException, IllegalAccessException { init(); getAndPossiblyStoreOrganism(organism); logger.debug("Complete"); IndicesAdminClient iac = connection.getClient().admin().indices(); FlushResponse fr = iac.flush(new FlushRequest(this.connection.getIndex())).actionGet(); logger.info(String.format("Flush! %s failed, %s successful, %s total", fr.getFailedShards(), fr.getSuccessfulShards(), fr.getTotalShards())); } public static void main(String[] args) throws Exception { new OrganismIndexBuilder().prerun(args).closeIndex(); } }