

通过构建器帮助我构建DSL语句

解析json:

@Testvoid testMatchAll() throws IOException {//准备request对象SearchRequest request = new SearchRequest("hotel");//准备DSLrequest.source().query(QueryBuilders.matchAllQuery());//发送请求SearchResponse response = client.search(request, RequestOptions.DEFAULT);//解析响应的jsonSearchHits hits = response.getHits();//拉取总条数long value = hits.getTotalHits().value;//来取文档数组SearchHit[] hits1 = hits.getHits();//遍历数组进行反序列化for (SearchHit documentFields : hits1) {//读取文档scoreString json = documentFields.getSourceAsString();HotelDoc hotelDoc = JSON.parseObject(json, HotelDoc.class);System.out.println(hotelDoc);}


DSL查询语句是通过source来构建的
也就是说source就是这一坨:
QueryBuilders构建查询条件
总结步骤;
创建SearchRequest对象
准备Request.source() 也就是DSL
QueryBuilders来构建查询条件
传入Request.source()的方法 query()方法
发送请求得到结果
解析结果:
(参考json结果从外到内 逐层解析)
