一. kibanan中用id: get 路徑/id
1 @Test 2 public void getByIdTesg() throws IOException { 3 // 1. 創建查詢對象 4 String index = "sms-logs-index"; 5 String type = "sms-logs-type"; 6 SearchRequest searchRequest = new SearchRequest(index);//指定索引 7 searchRequest.types(type);//指定類型 8 // 2. 封裝查詢條件 9 GetRequest getRequest = new GetRequest(index, type, "1"); 10 11 // 3.執行查詢 12 // client執行 13 HttpHost httpHost = new HttpHost("192.168.43.30", 9200); 14 RestClientBuilder restClientBuilder = RestClient.builder(httpHost); 15 RestHighLevelClient restHighLevelClient = new RestHighLevelClient(restClientBuilder); 16 GetResponse documentFields = restHighLevelClient.get(getRequest, RequestOptions.DEFAULT); 17 // 4.獲取數據(source中的數據) 18 System.out.println(documentFields); 19 20 }
二. ids查詢, in多個id;
@Test public void getByIdsTesg() throws IOException { // 1. 創建查詢對象 String index = "sms-logs-index"; String type = "sms-logs-type"; SearchRequest searchRequest = new SearchRequest(index);//指定索引 searchRequest.types(type);//指定類型 // 2. 封裝查詢條件 SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); searchSourceBuilder.query(QueryBuilders.idsQuery().addIds("1","2","3")); searchRequest.source(searchSourceBuilder); // 3.執行查詢 // client執行 HttpHost httpHost = new HttpHost("192.168.43.30", 9200); RestClientBuilder restClientBuilder = RestClient.builder(httpHost); RestHighLevelClient restHighLevelClient = new RestHighLevelClient(restClientBuilder); SearchResponse search = restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT); // 4.獲取數據(source中的數據) SearchHit[] hits = search.getHits().getHits(); for(SearchHit searchHit : hits){ System.out.println(searchHit); } }