| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 | [[java-api]]= Java APIinclude::../Versions.asciidoc[][preface]== Prefacedeprecated[7.0.0, The `TransportClient` is deprecated in favour of the {java-rest}/java-rest-high.html[Java High Level REST Client] and will be removed in Elasticsearch 8.0. The {java-rest}/java-rest-high-level-migration.html[migration guide] describes all the steps needed to migrate.]This section describes the Java API that Elasticsearch provides. AllElasticsearch operations are executed using a<<client,Client>> object. Alloperations are completely asynchronous in nature (either accepts alistener, or returns a future).Additionally, operations on a client may be accumulated and executed in<<java-docs-bulk,Bulk>>.Note, all the APIs are exposed through theJava API (actually, the Java API is used internally to execute them).== JavadocThe javadoc for the transport client can be found at {transport-client-javadoc}/index.html.== Maven RepositoryElasticsearch is hosted onhttp://search.maven.org/#search%7Cga%7C1%7Ca%3A%22elasticsearch%22[MavenCentral].For example, you can define the latest version in your `pom.xml` file:["source","xml",subs="attributes"]--------------------------------------------------<dependency>    <groupId>org.elasticsearch.client</groupId>    <artifactId>transport</artifactId>    <version>{version}</version></dependency>--------------------------------------------------[[java-transport-usage-maven-lucene]]=== Lucene Snapshot repositoryThe very first releases of any major version (like a beta), might have been built on top of a Lucene Snapshot version.In such a case you will be unable to resolve the Lucene dependencies of the client.For example, if you want to use the `6.0.0-beta1` version which depends on Lucene `7.0.0-snapshot-00142c9`, you mustdefine the following repository.For Maven:["source","xml",subs="attributes"]--------------------------------------------------<repository>    <id>elastic-lucene-snapshots</id>    <name>Elastic Lucene Snapshots</name>    <url>http://s3.amazonaws.com/download.elasticsearch.org/lucenesnapshots/00142c9</url>    <releases><enabled>true</enabled></releases>    <snapshots><enabled>false</enabled></snapshots></repository>--------------------------------------------------For Gradle:["source","groovy",subs="attributes"]--------------------------------------------------maven {    url 'http://s3.amazonaws.com/download.elasticsearch.org/lucenesnapshots/00142c9'}--------------------------------------------------=== Log4j 2 LoggerYou need to also include Log4j 2 dependencies:["source","xml",subs="attributes"]--------------------------------------------------<dependency>    <groupId>org.apache.logging.log4j</groupId>    <artifactId>log4j-core</artifactId>    <version>2.9.1</version></dependency>--------------------------------------------------And also provide a Log4j 2 configuration file in your classpath.For example, you can add in your `src/main/resources` project dir a `log4j2.properties` file like:["source","properties",subs="attributes"]--------------------------------------------------appender.console.type = Consoleappender.console.name = consoleappender.console.layout.type = PatternLayoutappender.console.layout.pattern = [%d{ISO8601}][%-5p][%-25c] %marker%m%nrootLogger.level = inforootLogger.appenderRef.console.ref = console--------------------------------------------------=== Using another LoggerIf you want to use another logger than Log4j 2, you can use http://www.slf4j.org/[SLF4J] bridge to do that:["source","xml",subs="attributes"]--------------------------------------------------<dependency>    <groupId>org.apache.logging.log4j</groupId>    <artifactId>log4j-to-slf4j</artifactId>    <version>2.9.1</version></dependency><dependency>    <groupId>org.slf4j</groupId>    <artifactId>slf4j-api</artifactId>    <version>1.7.24</version></dependency>--------------------------------------------------http://www.slf4j.org/manual.html[This page] lists implementations you can use. Pick your favorite loggerand add it as a dependency. As an example, we will use the `slf4j-simple` logger:["source","xml",subs="attributes"]--------------------------------------------------<dependency>    <groupId>org.slf4j</groupId>    <artifactId>slf4j-simple</artifactId>    <version>1.7.21</version></dependency>--------------------------------------------------:client-tests: {docdir}/../../server/src/test/java/org/elasticsearch/client/documentation:client-reindex-tests: {docdir}/../../modules/reindex/src/test/java/org/elasticsearch/client/documentationinclude::client.asciidoc[]include::docs.asciidoc[]include::search.asciidoc[]include::aggs.asciidoc[]include::query-dsl.asciidoc[]include::admin/index.asciidoc[]
 |