/elasticsearch-java

Official Elasticsearch Java Client

Primary LanguageJavaApache License 2.0Apache-2.0

Elastic logo

Elasticsearch Java Client

The official Java client for Elasticsearch.

The Java client for Elasticsearch provides strongly typed requests and responses for all Elasticsearch APIs. It delegates protocol handling to an http client such as the Elasticsearch Low Level REST client that takes care of all transport-level concerns (http connection establishment and pooling, retries, etc).

The docs/design folder contains records of the major decisions in the design of the API. Most notably:

  • Object construction is based on the builder pattern.
  • Nested objects can be constructed with builder lambdas, allowing for clean and expressive DSL-like code.
  • Optional values are represented as null with @Nullable annotations instead of the newer Optional, the Java ecosystem being still very null-based.

Documentation

Please refer to the full documentation on elastic.co for comprehensive information.

Contributing

See CONTRIBUTING.md

Licence

This software is licensed under the Apache License 2.0.