Skip to content

Instantly share code, notes, and snippets.

public ProfileDocument findById(String id) throws Exception {
GetRequest getRequest = new GetRequest(INDEX, TYPE, id);
GetResponse getResponse = client.get(getRequest, RequestOptions.DEFAULT);
Map<String, Object> resultMap = getResponse.getSource();
return objectMapper
.convertValue(resultMap, ProfileDocument.class);
@GetMapping("/{id}")
public ProfileDocument findById(@PathVariable String id) throws Exception {
return service.findById(id);
}
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.6</version>
</dependency>
@Service
@Slf4j
public class ProfileService {
private RestHighLevelClient client;
private ObjectMapper objectMapper;
@Autowired
public ProfileService(RestHighLevelClient client, ObjectMapper objectMapper) {
@RestController("/api/v1/profiles")
public class ProfileController {
private ProfileService service;
@Autowired
public ProfileController(ProfileService service) {
this.service = service;
}
@Data
public class ProfileDocument {
private String id;
private String firstName;
private String lastName;
private List<Technologies> technologies;
private List<String> emails;
}
elasticsearch.host=search-dev-elasticsearch-5bgsa4vpjib46bgh4cbtebsxydiq.us-east-1.es.amazonaws.com
<dependency>
<groupId> org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>LATEST</version>
</dependency>
@Configuration
public class ElasticsearchConfig {
@Value("${elasticsearch.host}")
private String elasticsearchHost;
@Bean(destroyMethod = "close")
public RestHighLevelClient client() {
RestHighLevelClient client = new RestHighLevelClient(