ElastSearch 7.6.2 не может получить выделенный ответ - PullRequest
0 голосов
/ 13 июля 2020

Я буду следовать примеру из официальной документации, но результатов поиска не было

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();
}
...