RestClient and TransportClient what is reccomended


For data ingestion to ES I have used transport client API previously. It was working fine on local cluster but when I tried pushing it to amazon elasticsearch instance it was having problems. I searched for the issue and found that it is related to transport port. Most of the people were having that issue and recommended to use RestClient api.

I have couple questions in my mind regarding this:

  1. What is the best practice ? Using transport client or RestClient which one is preferable.
  2. I tried RestClient and it worked for local as well as my amazon elasticsearch instance. Creating request object using NStringEntity and using performRequest method I ingested my data to amazon ES. When i looked for API's for index creation, existance of the index etc I saw methods which are either not available for RestClient and are available for Transport client, So the question is are there any such API's available for RestClient as well? If not what should be done so as to check for available indexes and creating new one so I have to switch for Transport API?

You can use transport client with elastic cloud (which runs on AWS).
High level REST is coming soon.

@dadoonet: Thanks a lot. May I know when can we get this High level REST ?

No date but you can follow progress at:

@dadoonet: Does transport client works with EC2 instance?

If you mean:

  • Elasticsearch Instances that you are installing and managing yourself on ec2: YES
  • Elasticsearch instances that elastic cloud is running as a service on ec2: YES
  • Elasticsearch instances that Amazon is running as a service on ec2: NO
1 Like

Thanks @dadoonet : Yes I mean Elasticsearch Instances that i will be installing and managing myself on ec2.

So no problem.

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