Hi,
The present Elasticsearch js allows me to put data using the http port(9200). Is there any way I can access the transport layer port through javascript so that I can upload my data even faster?
thanks,
satya
Hi,
The present Elasticsearch js allows me to put data using the http port(9200). Is there any way I can access the transport layer port through javascript so that I can upload my data even faster?
thanks,
satya
No, there's no JavaScript library that supports to the transport protocol.
Adding to this that I'm not sure you will notice any difference.
May be you are not using the Bulk API which makes you think that REST layer is slow?
I was under an opinion that the transport layer is much more faster than the rest layer.
For Java, transport protocol uses a binary serialization and saves the overhead of HTTP.
But what is that overhead? You have some HTTP headers in text form. Then, you have some overhead by using HTTP over TCP. Then you have many parallel connections.
In practice, such overhead is negligible, it compensates well with
These performance factors weigh much more than HTTP protocol overhead.
The Java transport protocol is not quite usable for non-JVM languages (the implementation effort would be enormous). Even with Java transport protocol, you still have protocol overhead - data types are encoded in some extra bits and TCP overhead is there as well. And you still have parallel connections.
The most important areas to gain performance using HTTP are
HTTP/2 is addressing these areas. This is the reason why HTTP/2 would be a more efficient solution also for Elasticsearch.
© 2020. All Rights Reserved - Elasticsearch
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant logo are trademarks of the Apache Software Foundation in the United States and/or other countries.