in source/src/main/java/com/amazonaws/comprehend/esproxy/lambda/utils/kibana/KibanaUploader.java [63:87]
public void uploadMapping(@NonNull Map<String, ComprehendConfiguration> configMap, @NonNull LambdaLogger logger) {
logger.log("Upload Mappings for Comprehend fields");
try {
JSONObject mappingJson = getResourceFileJson(MAPPING_KEY_NAME);
Set<String> indexNameSet = new HashSet<>();
for (ComprehendConfiguration configuration : configMap.values()) {
String indexName = configuration.getIndexName();
String fieldName = configuration.getFieldName();
// If the index is new, add a new mapping. Otherwise update the existing mapping
if (!indexNameSet.contains(indexName) && isIndexNotFound(indexName)) {
esClient.performRequest(HttpPut.METHOD_NAME, String.format("/%s", indexName),
mappingJson.get(String.format("new-%s", MAPPING_KEY_NAME)).toString().replaceAll(FIELD_NAME_KEY, fieldName));
indexNameSet.add(indexName);
} else {
esClient.performRequest(HttpPut.METHOD_NAME, String.format("/%s/_mapping/_doc", indexName),
mappingJson.get(MAPPING_KEY_NAME).toString().replaceAll(FIELD_NAME_KEY, fieldName));
}
}
} catch (IOException e) {
logger.log("Upload Mappings failed with IOException" + e);
}
}