快速入门:

match_all查询:
@Test
void testMatchAll() throws IOException {
String index = "tb_disable_date_diary";
SearchRequest request = new SearchRequest(index);
request.source().query(QueryBuilders.matchAllQuery());
SearchResponse response = client.search(request,RequestOptions.DEFAULT);
handleResponce(response);
System.out.println(response);
}
private void handleResponce(SearchResponse response) {
SearchHits searchHits = response.getHits();
long total = searchHits.getTotalHits().value;
System.out.println("共搜索到"+total+"条数据");
SearchHit[] hits = searchHits.getHits();
for(SearchHit hit : hits){
String json = hit.getSourceAsString();
Diary diary = JSON.parseObject(json,Diary.class);
System.out.println("diary = "+diary);
}
}

@Test
void restPageAndSort() throws IOException {
int page = 2,size = 5;
SearchRequest request = new SearchRequest("hotel");
request.source().query(QueryBuilders.matchAllQuery());
request.source().sort("price", SortOrder.ASC);
request.source().from((page - 1) * size).size(5);
SearchResponse response = client.search(request,RequestOptions.DEFAULT);
handleResponce(response);
System.out.println(response);
}
private void handleResponce(SearchResponse response) {
SearchHits searchHits = response.getHits();
long total = searchHits.getTotalHits().value;
System.out.println("共搜索到"+total+"条数据");
SearchHit[] hits = searchHits.getHits();
for(SearchHit hit : hits){
String json = hit.getSourceAsString();
HotelDoc hotelDoc = JSON.parseObject(json,HotelDoc.class);
System.out.println("hotelDoc = "+hotelDoc);
}
}
高亮


@Test
void testHighlight() throws IOException {
SearchRequest request = new SearchRequest("hotel");
request.source().query(QueryBuilders.matchQuery("all","如家"));
request.source().highlighter(new HighlightBuilder().field("name").requireFieldMatch(false));
SearchResponse response = client.search(request,RequestOptions.DEFAULT);
handleResponce1(response);
System.out.println(response);
}
private void handleResponce1(SearchResponse response) {
SearchHits searchHits = response.getHits();
long total = searchHits.getTotalHits().value;
System.out.println("共搜索到"+total+"条数据");
SearchHit[] hits = searchHits.getHits();
for(SearchHit hit : hits){
String json = hit.getSourceAsString();
HotelDoc hotelDoc = JSON.parseObject(json,HotelDoc.class);
Map<String, HighlightField> highlightFields = hit.getHighlightFields();
if(!CollectionUtils.isEmpty(highlightFields)){
HighlightField highlightField = highlightFields.get("name");
if(highlightField != null){
String name = highlightField.getFragments()[0].string();
hotelDoc.setName(name);
}
}
System.out.println("hotelDoc = "+hotelDoc);
}
}