What is the alternatives to NodeClient(NodeBuilder)


We try to move our ES from 1.7 to 5.4 and I found this article

It seems to me we cannot use Embedded Elasticsearch anymore like what we used to start our application and build a NodeClient and join the cluster to
#1. reduce network hop
#2. give a name to this node client so that we can identify which application is connecting to the cluster.

Do we have alternatives to do the same thing?
What is the performance impact if we don't have NodeClient and use the alternatives?
I found this article, to use TransportClient as a coordinate node.

Or use Java REST Client. (Is this some kind of java wrapper to call plain ES http rest api?)

Looking forward your input.

(David Pilato) #2

The article about using TransportClient alongside the Client Node is the way to go if you want to have autodiscovery and such.
But if you know for sure some of the addresses of some nodes, then you can directly use the TransportClient.

Or better, start to use the Rest Client. It's a low level one but 5.6.0 will come with a high level one.
I started to use it and it's really great.


Thanks @dadoonet
So you as your recommendation we should use Rest Client

But what do you mean

It’s a low level one but 5.6.0 will come with a high level one.

If I'm going to move to 5.6, should I change to use that high level one?

(David Pilato) #4

If the low level works for you and is enough, then just use the low level.


So we don't have Node Client in the future (or we don't have now from 5.0)?
I mean we can never start an embedded node in our application right?

(David Pilato) #6

Just quoting the blog post:

Some users run Elasticsearch as embedded. We are not going to stop them from doing so, but we cannot support it.

(system) #7

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.