Es簡單條件查詢


一:先看一下es的語句以及查詢結果:

 

 

 我這邊使用的條件是is_device要么是工控要么是資產

二:java代碼部分

  關於es的操作,java里面不需要添加mapper層,只要在service以及controller層里面操作就OK了

  1:在service里面添加接口

1   //首頁的工控資產詳情在es里面查詢結果
2     List<Object> getBaseCurrencyByEs();

  2:在實現類里面實現邏輯以及步驟,es查詢基本就那7步

 1 @Override
 2     public List<Object> getBaseCurrencyByEs() {
 3         //存放最終數據
 4         ArrayList<Object> list = new ArrayList<>();
 5         //1.創建搜索請求對象
 6         SearchRequest searchRequest = new SearchRequest("mid_assets_shanxi").types("mid_assets_shanxi");
 7         //2.設置搜索源配置
 8         SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
 9         //3.構建QueryBuilder對象指定查詢方式和查詢條件
10         QueryBuilder queryBuilder = QueryBuilders.termQuery("is_device.keyword", "通用設備");
11         //4,將QuseryBuilder對象設置到SearchSourceBuilder對象中
12         searchSourceBuilder.query(queryBuilder);
13         //5,將SearchSourceBuilder設置到SearchRequest中
14         searchRequest.source(searchSourceBuilder);
15         try {
16             //6,調用方法查詢數據
17             SearchResponse searchResponse = restHighLevelClient.search(searchRequest);
18             System.err.println("es語句:" + searchRequest);
19             //7,解析返回結果
20             SearchHits hits = searchResponse.getHits();
21             //得到數據
22             SearchHit[] searchHits = hits.getHits();
23             for (SearchHit hit : searchHits){
24                 Map<String, Object> result = hit.getSourceAsMap();
25                 list.add(result);
26             }
27         } catch (IOException e) {
28             e.printStackTrace();
29         }
30         return list;
31     }

  3:在controller層里面調用接口

1 @GetMapping("getBaseCurrencyByEs")
2 @ApiOperation("通用資產詳情的數據")
3     public Result getBaseCurrencyByEs(){
4         List<Object> baseIndustrial=bigscreenStatisticsAllService.getBaseCurrencyByEs();
5         return Result.ok(baseIndustrial);
6     }

三:測試接口是否查詢到了數據:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM