Я буду следовать примеру из официальной документации, но результатов поиска не было
public String search(String index){
SearchRequest searchRequest = new SearchRequest("bank");
SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
sourceBuilder.query(QueryBuilders.matchAllQuery());
HighlightBuilder highlightBuilder = new HighlightBuilder();
highlightBuilder.preTags("<span style=\"color:red\">");
highlightBuilder.postTags("</span>");
HighlightBuilder.Field highlightAddress = new HighlightBuilder.Field("address");
highlightAddress.highlighterType("unified");
highlightBuilder.field(highlightAddress);
sourceBuilder.highlighter(highlightBuilder);
StringBuffer stringBuffer = new StringBuffer();
searchRequest.source(sourceBuilder);
try {
SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);
SearchHits hits = searchResponse.getHits();
hits.forEach(hit -> {
Map<String, HighlightField> highlightFields = hit.getHighlightFields();
HighlightField highlight = highlightFields.get("address");
Text[] fragments = highlight.fragments();
String fragmentString = fragments[0].string();
stringBuffer.append(fragmentString);
// stringBuffer.append (hit.getSourceAsString ()); });
}catch (Exception e){
e.printStackTrace();
}
client.searchAsync(searchRequest, RequestOptions.DEFAULT, listener);
return stringBuffer.toString();
}