Creating a native client
To create a native client to communicate with an ElasticSearch server, there are two ways:
- Creating an embedded node (a node that doesn't contain data, but it works as arbiter) and getting the client from it. This node will appear in the cluster state nodes and it's able to use discovery capabilities of ElasticSearch to join the cluster (so no node address is required to connect to a cluster). This client is able to reduce the node routing due to knowledge of cluster topology.
- Creating a transport client, which is a standard client that requires the address and port of nodes to connect.
In this recipe, we will see how to create these clients.
Getting ready
You need a working ElasticSearch cluster and a working copy of Maven.
The code of this recipe is in chapter_10/nativeclient in the code bundle of this book provided on Packt's website.
How to do it...
To create a native client, we will perform the steps given as follows:
- Before starting, we must be sure...