for (Cluster.Instance instance : instances) {
String publicIp = instance.getPublicIp();
LOG.info("Adding a document to instance " + instance.getId() + " @ " + publicIp);
CommonsHttpSolrServer solrServer = new CommonsHttpSolrServer(String.format("http://%s:%s/solr/core0", instance.getPublicHostName(), SOLR_PORT));
SolrInputDocument doc = new SolrInputDocument();
doc.addField("name", "Apache Whirr");
doc.addField("inceptionYear", "2010");
solrServer.add(doc);
solrServer.commit();
LOG.info("Committed document to instance " + instance.getId() + " @ " + publicIp);
LOG.info("Performing a search on instance " + instance.getId() + " @ " + publicIp);
SolrQuery query = new SolrQuery("name:whirr");
QueryResponse response = solrServer.query(query);
SolrDocumentList results = response.getResults();
assertEquals("Search on instance " + instance.getId() + " did NOT return a document!" , 1, results.size());
SolrDocument resultDoc = results.get(0);
assertEquals("name field on document of instance " + instance.getId() + " is incorrect", "Apache Whirr", resultDoc.get("name"));