in fts/src/main/java/com/epam/eco/schemacatalog/fts/repo/SchemaDocumentRepositoryImpl.java [79:103]
private void createIndexIfNotCreated() {
IndexOperations indexOperations = elasticsearchOperations.indexOps(SchemaDocument.class);
if (indexOperations.exists()) {
return;
}
IndexCoordinates coordinates = indexOperations.getIndexCoordinates();
Document mapping = indexOperations.createMapping(SchemaDocument.class);
Document settings = indexOperations.createSettings(SchemaDocument.class);
//todo replace with create(settings, mapping) when spring-data elastic ups to 4.2+
//indexOperations.create(mapping);
CreateIndexRequest request = new CreateIndexRequest(coordinates.getIndexName());
if (settings != null && !settings.isEmpty()) {
request.settings(settings);
}
if (mapping != null && !mapping.isEmpty()) {
request.mapping(mapping);
}
restTemplate.execute(client -> client.indices().create(request, RequestOptions.DEFAULT).isAcknowledged());
}