List of usage examples for com.amazonaws.services.cloudsearchdomain.model UploadDocumentsResult getWarnings
public java.util.List<DocumentServiceWarning> getWarnings()
Any warnings returned by the document service about the documents being uploaded.
From source file:com.digitalpebble.stormcrawler.aws.bolt.CloudSearchIndexerBolt.java
License:Apache License
public void sendBatch() { timeLastBatchSent = System.currentTimeMillis(); // nothing to do if (numDocsInBatch == 0) { return;/* ww w . j a v a 2s .c o m*/ } // close the array buffer.append(']'); LOG.info("Sending {} docs to CloudSearch", numDocsInBatch); byte[] bb = buffer.toString().getBytes(StandardCharsets.UTF_8); if (dumpBatchFilesToTemp) { try { File temp = File.createTempFile("CloudSearch_", ".json"); FileUtils.writeByteArrayToFile(temp, bb); LOG.info("Wrote batch file {}", temp.getName()); // ack the tuples for (Tuple t : unacked) { _collector.ack(t); } unacked.clear(); } catch (IOException e1) { LOG.error("Exception while generating batch file", e1); // fail the tuples for (Tuple t : unacked) { _collector.fail(t); } unacked.clear(); } finally { // reset buffer and doc counter buffer = new StringBuffer(MAX_SIZE_BATCH_BYTES).append('['); numDocsInBatch = 0; } return; } // not in debug mode try (InputStream inputStream = new ByteArrayInputStream(bb)) { UploadDocumentsRequest batch = new UploadDocumentsRequest(); batch.setContentLength((long) bb.length); batch.setContentType(ContentType.Applicationjson); batch.setDocuments(inputStream); UploadDocumentsResult result = client.uploadDocuments(batch); LOG.info(result.getStatus()); for (DocumentServiceWarning warning : result.getWarnings()) { LOG.info(warning.getMessage()); } if (!result.getWarnings().isEmpty()) { eventCounter.scope("Warnings").incrBy(result.getWarnings().size()); } eventCounter.scope("Added").incrBy(result.getAdds()); // ack the tuples for (Tuple t : unacked) { _collector.ack(t); } unacked.clear(); } catch (Exception e) { LOG.error("Exception while sending batch", e); LOG.error(buffer.toString()); // fail the tuples for (Tuple t : unacked) { _collector.fail(t); } unacked.clear(); } finally { // reset buffer and doc counter buffer = new StringBuffer(MAX_SIZE_BATCH_BYTES).append('['); numDocsInBatch = 0; } }