上云无忧 > 文档中心 > 百度智能云Elasticsearch Java 客户端 - Low Level REST Client
Elasticsearch
百度智能云Elasticsearch Java 客户端 - Low Level REST Client

文档简介:
本文基于Java Low Level REST Client 7.x版本,为您介绍Elasticsearch Java API的用法。 准备工作: 安装Java,要求JDK版本为1.8及以上。 创建Baidu Elasticsearch实例,版本7.4.2。 注意 Low Level Client能够与任何版本的Elasticsearch兼容,因此客户端版本可以为任何版本,本文以7.4.2版本为例。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

本文基于Java Low Level REST Client 7.x版本,为您介绍Elasticsearch Java API的用法。

准备工作

  • 安装Java,要求JDK版本为1.8及以上。
  • 创建Baidu Elasticsearch实例,版本7.4.2。

    注意 Low Level Client能够与任何版本的Elasticsearch兼容,因此客户端版本可以为任何版本,本文以7.4.2版本为例。

  • 创建Java Maven工程,并将如下的pom依赖添加到Java工程的pom.xml文件中。

pom依赖

<dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>rest</artifactId> 
<version>7.4.2</version> </dependency> <dependency> <groupId>org.apache.httpcomponents
</groupId> <artifactId>httpasyncclient</artifactId> <version>4.1.4</version> </dependency> <dependency> 
<groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore-nio</artifactId> <version>4.4.13</version>
 </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> 
<version>4.5.6</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> 
<artifactId>httpcore</artifactId> <version>4.4.12</version> </dependency> <dependency> <groupId>commons-codec
</groupId> <artifactId>commons-codec</artifactId> <version>1.10</version> </dependency> <dependency> 
<groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.2</version> </dependency>

示例

以下代码为使用Java Low Level REST ClientI对Elasticsearch进行了查询,可供参考。

import java.io.IOException; import org.apache.http.HttpEntity; import org.apache.http.HttpHost; import 
org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.
http.client.CredentialsProvider; import org.apache.http.entity.ContentType; import org.apache.http.impl.
client.BasicCredentialsProvider; import org.apache.http.impl.nio.client.HttpAsyncClientBuilder; import 
org.apache.http.nio.entity.NStringEntity; import org.apache.http.util.EntityUtils; import org.elasticsea
rch.client.Request; import org.elasticsearch.client.Response; import org.elasticsearch.client.RestClient; 
import org.elasticsearch.client.RestClientBuilder; public class RestClientTest742 { public static void
 main(String[] args) { final CredentialsProvider credentialsProvider = new BasicCredentialsProvider(); 
//访问用户名和密码为您创建Elasticsearch实例时设置的用户名和密码。 credentialsProvider.setCredentials(AuthScope.
ANY, new UsernamePasswordCredentials("{访问用户名}", "{访问密码}")); // 通过builder创建rest client,配置http 
client的HttpClientConfigCallback。 // ES HTTP URL 在Baidu Elasticsearch界面中可以查询 RestClient restClient
 = RestClient.builder(new HttpHost("{ES HTTP URL}", 8200)) .setHttpClientConfigCallback(new RestClientBu
ilder.HttpClientConfigCallback() { @Override public HttpAsyncClientBuilder customizeHttpClient(HttpAsy
ncClientBuilder httpClientBuilder) { return httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
 } }).build(); try { // 创建request Request request = new Request( "POST", "/{index_name}/_search");
 // 配置请求体 request.setEntity(new NStringEntity("{\"query\":{\"match_all\":{}}}", ContentType.APPLICATION
_JSON)); Response response = restClient.performRequest(request); System.out.println(EntityUtils.toString(
response.getEntity())); } catch (IOException e) { e.printStackTrace(); } } }

以上示例代码中带{}的参数需要替换为您具体业务的参数,详情请参见代码注释。

更多Java Low Level REST Client的使用特性,请参见Java Low Level REST Client官方文档。

相似文档
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部