in source/src/main/java/com/amazonaws/comprehend/esproxy/lambda/processor/BulkProcessor.java [167:187]
private static List<BulkRequest> getBatchObjectList(@NonNull final Map<Integer, BulkPayload> payloadMap,
@NonNull final Map<String, ComprehendConfiguration> configMap) {
List<BulkRequest> bulkRequestList = new ArrayList<>();
payloadMap.forEach((locationRowNum, bulkPayload) -> configMap.forEach((key, config) -> {
if (bulkPayload.getIndexName().equals(config.getIndexName())) {
// For each config, find matched fields in the input
Optional.ofNullable(bulkPayload.getPayloadJson().findValue(config.getFieldName())).ifPresent(fieldValue ->
// For each operation, add to the bulkRequestList
config.getComprehendOperations().forEach(operation ->
bulkRequestList.add(new BulkRequest(fieldValue.asText(), operation, config.getLanguageCode(),
new BatchFieldLocator(
String.format("%s_%s", config.getFieldName(), operation.toString()),
locationRowNum)
))
)
);
}
}));
return bulkRequestList;
}