I am running ES with one Node, one Shard in embedded Java app.
Does Node client run in "true" embedded mode or is it still going
through the client server data flow?
If I create a Search Request, object and excute it, get it,
would ES first serialize it into Json data and send to a server thread
which would deserialize it, and then get result, convert it to Json
and send back to client, which would convert it into java object?
I'd expect in "true" embedded mode, the search object and result object
would be directly pass in and out, without the overhead of client-server
mode,
which could be huge performance gain.
I am running ES with one Node, one Shard in embedded Java app.
Does Node client run in "true" embedded mode or is it still going
through the client server data flow?
If I create a Search Request, object and excute it, get it,
would ES first serialize it into Json data and send to a server thread
which would deserialize it, and then get result, convert it to Json
and send back to client, which would convert it into java object?
I'd expect in "true" embedded mode, the search object and result object
would be directly pass in and out, without the overhead of client-server
mode,
which could be huge performance gain.
But TransportClient is to use network connection to a server, which is not
what I was looking for.
On Sunday, April 12, 2015 at 11:07:31 PM UTC-4, Ted Smith wrote:
Hello:
I am running ES with one Node, one Shard in embedded Java app.
Does Node client run in "true" embedded mode or is it still going
through the client server data flow?
If I create a Search Request, object and excute it, get it,
would ES first serialize it into Json data and send to a server thread
which would deserialize it, and then get result, convert it to Json
and send back to client, which would convert it into java object?
I'd expect in "true" embedded mode, the search object and result object
would be directly pass in and out, without the overhead of client-server
mode,
which could be huge performance gain.
All requests are serialized and deserialized at shard level, it is the only
method of creating executable Lucene queries. There is no "client-server
mode" at shard level. There would be no huge performance gain of "directly
pass in and out", there is nothing much to win, because sooner or later you
need executable Lucene query objects for this shard.
I am running ES with one Node, one Shard in embedded Java app.
Does Node client run in "true" embedded mode or is it still going
through the client server data flow?
If I create a Search Request, object and excute it, get it,
would ES first serialize it into Json data and send to a server thread
which would deserialize it, and then get result, convert it to Json
and send back to client, which would convert it into java object?
I'd expect in "true" embedded mode, the search object and result object
would be directly pass in and out, without the overhead of client-server
mode,
which could be huge performance gain.
There is a "local" mode [1]. In this mode you start up the single embedded
node and use the client from that node [2], which will bypass networking
but responses are still serialized to bytes [3].
On Sunday, April 12, 2015 at 11:07:31 PM UTC-4, Ted Smith wrote:
Hello:
I am running ES with one Node, one Shard in embedded Java app.
Does Node client run in "true" embedded mode or is it still going
through the client server data flow?
If I create a Search Request, object and excute it, get it,
would ES first serialize it into Json data and send to a server thread
which would deserialize it, and then get result, convert it to Json
and send back to client, which would convert it into java object?
I'd expect in "true" embedded mode, the search object and result object
would be directly pass in and out, without the overhead of client-server
mode,
which could be huge performance gain.
I have use cases involving many requests with many fields in response.
seril/deserl consume a lot of resource.
it would help a lot if there is a "true" embedded client that would
directly interact
with shard (single node, single shard) by passing/returning java object
directly.
On Monday, April 13, 2015 at 8:38:18 AM UTC-4, Jay Modi wrote:
There is a "local" mode [1]. In this mode you start up the single embedded
node and use the client from that node [2], which will bypass networking
but responses are still serialized to bytes [3].
On Sunday, April 12, 2015 at 11:07:31 PM UTC-4, Ted Smith wrote:
Hello:
I am running ES with one Node, one Shard in embedded Java app.
Does Node client run in "true" embedded mode or is it still going
through the client server data flow?
If I create a Search Request, object and excute it, get it,
would ES first serialize it into Json data and send to a server thread
which would deserialize it, and then get result, convert it to Json
and send back to client, which would convert it into java object?
I'd expect in "true" embedded mode, the search object and result object
would be directly pass in and out, without the overhead of client-server
mode,
which could be huge performance gain.
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.