2017-02-24 07:52:36 -05:00
|
|
|
[[java-rest-high-usage]]
|
2017-07-04 04:58:57 -04:00
|
|
|
== Getting started
|
|
|
|
|
|
|
|
This section describes how to get started with the high-level REST client from
|
|
|
|
getting the artifact to using it in an application.
|
2017-02-24 07:52:36 -05:00
|
|
|
|
2017-08-01 04:38:56 -04:00
|
|
|
[[java-rest-high-compatibility]]
|
|
|
|
=== Compatibility
|
|
|
|
The Java High Level REST Client requires Java 1.8 and depends on the Elasticsearch
|
|
|
|
core project. The client version is the same as the Elasticsearch version that the
|
|
|
|
client was developed for. It accepts the same request arguments as the `TransportClient`
|
|
|
|
and returns the same response objects.
|
|
|
|
|
|
|
|
The High Level Client is backwards compatible but can only communicate with Elasticsearch
|
|
|
|
version 5.5 and onwards. The High Level Client is forward compatible as well, meaning that
|
|
|
|
it supports communicating with a later version of Elasticsearch than the one it was developed
|
|
|
|
for. It is recommended to upgrade the High Level Client when upgrading the Elasticsearch
|
|
|
|
cluster to a new major version, as REST API breaking changes may cause unexpected results,
|
|
|
|
and newly added APIs will only be supported by the newer version of the client. The client
|
|
|
|
should be updated last, once all of the nodes in the cluster have been upgraded.
|
|
|
|
|
2017-07-31 09:41:21 -04:00
|
|
|
[[java-rest-high-javadoc]]
|
|
|
|
=== Javadoc
|
|
|
|
|
|
|
|
The javadoc for the REST high level client can be found at {rest-high-level-client-javadoc}/index.html.
|
|
|
|
|
2017-02-24 07:52:36 -05:00
|
|
|
[[java-rest-high-usage-maven]]
|
2017-07-04 04:58:57 -04:00
|
|
|
=== Maven Repository
|
2017-02-24 07:52:36 -05:00
|
|
|
|
|
|
|
The high-level Java REST client is hosted on
|
|
|
|
http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.elasticsearch.client%22[Maven
|
|
|
|
Central]. The minimum Java version required is `1.8`.
|
|
|
|
|
2017-07-03 04:48:16 -04:00
|
|
|
The High Level REST Client is subject to the same release cycle as
|
|
|
|
Elasticsearch. Replace the version with the desired client version.
|
2017-02-24 07:52:36 -05:00
|
|
|
|
|
|
|
[[java-rest-high-usage-maven-maven]]
|
2017-07-04 04:58:57 -04:00
|
|
|
==== Maven configuration
|
2017-02-24 07:52:36 -05:00
|
|
|
|
|
|
|
Here is how you can configure the dependency using maven as a dependency manager.
|
|
|
|
Add the following to your `pom.xml` file:
|
|
|
|
|
|
|
|
["source","xml",subs="attributes"]
|
|
|
|
--------------------------------------------------
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.elasticsearch.client</groupId>
|
2017-07-13 03:44:25 -04:00
|
|
|
<artifactId>elasticsearch-rest-high-level-client</artifactId>
|
2017-02-24 07:52:36 -05:00
|
|
|
<version>{version}</version>
|
|
|
|
</dependency>
|
|
|
|
--------------------------------------------------
|
|
|
|
|
|
|
|
[[java-rest-high-usage-maven-gradle]]
|
2017-07-04 04:58:57 -04:00
|
|
|
==== Gradle configuration
|
2017-02-24 07:52:36 -05:00
|
|
|
|
|
|
|
Here is how you can configure the dependency using gradle as a dependency manager.
|
|
|
|
Add the following to your `build.gradle` file:
|
|
|
|
|
|
|
|
["source","groovy",subs="attributes"]
|
|
|
|
--------------------------------------------------
|
|
|
|
dependencies {
|
2017-07-13 03:44:25 -04:00
|
|
|
compile 'org.elasticsearch.client:elasticsearch-rest-high-level-client:{version}'
|
2017-02-24 07:52:36 -05:00
|
|
|
}
|
|
|
|
--------------------------------------------------
|
|
|
|
|
|
|
|
[[java-rest-high-usage-dependencies]]
|
2017-07-04 04:58:57 -04:00
|
|
|
=== Dependencies
|
2017-02-24 07:52:36 -05:00
|
|
|
|
2017-07-03 04:48:16 -04:00
|
|
|
The High Level Java REST Client depends on the following artifacts and their
|
2017-02-24 07:52:36 -05:00
|
|
|
transitive dependencies:
|
|
|
|
|
2017-07-27 05:17:48 -04:00
|
|
|
- org.elasticsearch.client:elasticsearch-rest-client
|
2017-02-24 07:52:36 -05:00
|
|
|
- org.elasticsearch:elasticsearch
|
|
|
|
|
|
|
|
|
|
|
|
[[java-rest-high-usage-initialization]]
|
2017-07-04 04:58:57 -04:00
|
|
|
=== Initialization
|
2017-02-24 07:52:36 -05:00
|
|
|
|
|
|
|
A `RestHighLevelClient` instance needs a <<java-rest-low-usage-initialization,REST low-level client>>
|
|
|
|
to be built as follows:
|
|
|
|
|
|
|
|
[source,java]
|
|
|
|
--------------------------------------------------
|
|
|
|
RestHighLevelClient client =
|
|
|
|
new RestHighLevelClient(lowLevelRestClient); <1>
|
|
|
|
--------------------------------------------------
|
|
|
|
<1> We pass the <<java-rest-low-usage-initialization,REST low-level client>> instance
|
|
|
|
|
2017-07-03 04:48:16 -04:00
|
|
|
In the rest of this documentation about the Java High Level Client, the `RestHighLevelClient` instance
|
2017-02-24 07:52:36 -05:00
|
|
|
will be referenced as `client`.
|