pom文件加入以下依赖:
<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.12</version> </dependency>代码样例:
public static void main(String args[]) throws URISyntaxException, IOException { String mSearchUrl = "http://localhost:9200/twitter/_msearch"; String searchUrl = "http://localhost:9200/my_index/_search?pretty"; // 注意在使用msearch时,注意写法,一定要加换行符,不然报错 String mSearch = "{\"index\":\"posts\"}\n" + "{\"query\":{\"match_all\":{}},\"from\":0,\"size\":1}\n" + "{\"index\":\"test\"}\n" + "{\"query\":{\"match_all\":{}},\"size\":1}\n"; // 普遍search写法 String search = "{ \"query\": { \"terms\": { \"color\" : { \"index\" : \"my_index\", \"id\" : \"2\", \"path\" : \"color\" } } }}"; demo(mSearchUrl, mSearch); demo(searchUrl,search); } private static String demo(String url, String data) throws ClientProtocolException, IOException { CloseableHttpClient httpClient = HttpClients.createDefault(); // 创建POST请求对象 HttpPost httpPost = new HttpPost(url); /* * 添加请求头信息 */ httpPost.addHeader("Content-Type", "application/json"); StringEntity stringEntity = new StringEntity(data, "UTF-8"); stringEntity.setContentEncoding("UTF-8"); stringEntity.setContentType("application/json"); //设置请求主体 httpPost.setEntity(stringEntity); HttpResponse httpResponse = httpClient.execute(httpPost); String backResult = EntityUtils.toString(httpResponse.getEntity(), "UTF-8");//请求返回结果 System.out.println(backResult); if (httpResponse != null) { try { EntityUtils.consume(httpResponse.getEntity()); } catch (IOException e) { e.printStackTrace(); } } ((CloseableHttpResponse) httpResponse).close(); httpClient.close(); return backResult; }