1:使用ElasticsearchRestTemplate
 
# 查询
		SearchRequest searchRequest 
= new 
SearchRequest("stu");
        SearchSourceBuilder searchSourceBuilder 
= searchRequest
.source();
        MatchQueryBuilder matchQueryBuilder 
= QueryBuilders
.matchQuery("name", "哈哈");
        # 高亮
        HighlightBuilder highlightBuilder 
= new 
HighlightBuilder().field("name");
        # 高亮的前缀
        highlightBuilder
.preTags("<span color='red'>");
        # 高亮的后缀
        highlightBuilder
.postTags("</span>");
        NativeSearchQuery searchQuery 
= new 
NativeSearchQueryBuilder().withQuery(matchQueryBuilder
)
                .withPageable(PageRequest
.of(0, 5))
                .withHighlightBuilder(highlightBuilder
).build();
        SearchHits
<Stu
> search1 
= elasticsearchRestTemplate
.search(searchQuery
, Stu
.class
);
        List
<SearchHit
<Stu
>> searchHits 
= search1
.getSearchHits();
        for (SearchHit
<Stu
> searchHit 
: searchHits
) {
            Stu content 
= searchHit
.getContent();
            
            String hi 
= searchHit
.getHighlightField("name").get(0);
            content
.setName(hi
);
            System
.out
.println(content
);
        }
 
2 使用restHighLevelClient
 
		SearchRequest searchRequest 
= new 
SearchRequest("stu");
        SearchSourceBuilder searchSourceBuilder 
= searchRequest
.source();
		searchSourceBuilder
.query(matchQueryBuilder
);
        searchSourceBuilder
.from(0);
        searchSourceBuilder
.size(10);
        searchSourceBuilder
.sort("id", SortOrder
.DESC
);
        SearchResponse search 
= restHighLevelClient
.search(searchRequest
, RequestOptions
.DEFAULT
);
        long value 
= search
.getHits().getTotalHits().value
;
        System
.out
.println(value
);
        for (org
.elasticsearch
.search
.SearchHit hit 
: search
.getHits()) {
            Map
<String
, Object
> sourceAsMap 
= hit
.getSourceAsMap();
        }