SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
sourceBuilder.query(QueryBuilders.boolQuery().must(QueryBuilders.matchQuery("ent_id", "1")));
if(null != searchParam) {
sourceBuilder.query(QueryBuilders.multiMatchQuery(searchParam,"title", "version","product","report_type"));
}
if(null !=request.getStatus() && request.getStatus().equalsIgnoreCase("Action completed")) {
sourceBuilder.query(QueryBuilders.boolQuery().must(QueryBuilders.matchQuery("flag","Completed")));
}
if(null !=request.getStatus() && request.getStatus().equalsIgnoreCase("Action required")) {
sourceBuilder.query(QueryBuilders.boolQuery().must(QueryBuilders.matchQuery("flag","Pending")));
}
if(null !=request.getStatus() && request.getStatus().equalsIgnoreCase("Disabled")) {
sourceBuilder.query(QueryBuilders.boolQuery().must(QueryBuilders.matchQuery("status","Disabled")));
}
sourceBuilder.from(0);
sourceBuilder.size(40);
SearchRequest searchRequest = new SearchRequest("novartis");
searchRequest.types("safetyHome");
searchRequest.source(sourceBuilder);
SearchResponse searchResponse = null;
try {
searchResponse = restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT);
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(searchResponse);
System.out.println("TOTAL HITS ARE" + searchResponse.getHits().totalHits);
SearchHit[] results = searchResponse.getHits().getHits();
for (SearchHit hit : results) {
sourceAsMap = hit.getSourceAsMap();
responseFromElasticSearch.add(sourceAsMap);
}