[[java-rest-high-usage]] === Getting started [[java-rest-high-usage-maven]] ==== Maven Repository 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`. The high-level REST client is subject to the same release cycle as elasticsearch. Replace the version with the desired client version. [[java-rest-high-usage-maven-maven]] ===== Maven configuration 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"] -------------------------------------------------- org.elasticsearch.client rest-high-level {version} -------------------------------------------------- [[java-rest-high-usage-maven-gradle]] ===== Gradle configuration 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 { compile 'org.elasticsearch.client:rest-high-level:{version}' } -------------------------------------------------- [[java-rest-high-usage-dependencies]] ==== Dependencies The high-level Java REST client depends on the following artifacts and their transitive dependencies: - org.elasticsearch.client:rest - org.elasticsearch:elasticsearch [[java-rest-high-usage-initialization]] ==== Initialization A `RestHighLevelClient` instance needs a <> to be built as follows: [source,java] -------------------------------------------------- RestHighLevelClient client = new RestHighLevelClient(lowLevelRestClient); <1> -------------------------------------------------- <1> We pass the <> instance In the rest of this documentation about the high-level client, the `RestHighLevelClient` instance will be referenced as `client`. Then you have access to the high level APIs such as: include::apis.asciidoc[] Each API can be executed synchronously (i.e. <>) or asynchronously (i.e. <>). The asynchronous APIs require a listener that is called on thread pool managed by the low level client when the response is received.