Elasticsearch Java Client (elasticsearch-java) ready for production use?


We have been using low level rest client avoiding high level rest client because its dependencies on elastic server. I noticed that the high level client is being deprecated in favor of a new elasticsearch-java client.

Is it ready for production use or experimental? Is company committed to it long term?

Any docs or examples on its use? I managed to connect , create index and index few records with it.

Getting some errors trying to pass refresh=wait_for = .refresh(Json.createValue("wait_for")) wait_for is passed to elastic with extra "" maybe I pass JsonValue incorrectly - it is not obvious

1 Like

Hi, I've seen this depreciation warning for the 7.15 version of the high level client but can't find any documentation about its replacement. Where did you find the information you are referring to?
Thank you,


What the heck is going on with Elasticsearch and its Java SDKs?

Where is the "new Java client"? It's not the "Java API" (Transport client?) right, because that's being deprecated:

The TransportClient is deprecated in favour of the Java High Level REST Client and will be removed in Elasticsearch 8.0.

That says it's deprecated in favor of the High Level REST client, which is itself now deprecated?!

The High Level REST Client is deprecated in favour of the Java Client.

Does this just mean the low level REST client, or is there a secret new Java Client?

All I can find is this old 2016 blog which only confuses things more.

Maybe there is an ElasticON video that explains what's happening?

Have a look at Elasticsearch Java API Client [7.x] | Elastic


1 Like