True embedded mode

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.

Thanks

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/837f8bc5-7266-4673-84d4-44a73dde7cb9%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Hello Ted ,

If you are using transport client as told in the link below , you should be
using embedded soltuion.

LINK -
http://www.elastic.co/guide/en/elasticsearch/client/java-api/current/client.html#transport-client

If its HTTP , then it tries to talk through the port and might try all the
serialization/deserialization stuff.

Thanks
Vineeth Mohan,
Elasticsearch consultant,
qbox.io ( Elasticsearch service provider http://qbox.io/)

On Mon, Apr 13, 2015 at 8:37 AM, Ted Smith tedsmithgroup@gmail.com 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.

Thanks

--
You received this message because you are subscribed to the Google Groups
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/elasticsearch/837f8bc5-7266-4673-84d4-44a73dde7cb9%40googlegroups.com
https://groups.google.com/d/msgid/elasticsearch/837f8bc5-7266-4673-84d4-44a73dde7cb9%40googlegroups.com?utm_medium=email&utm_source=footer
.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CAGdPd5nuz9TaPggFrrswGKWA49hnDB5h50GH2uVKRcNqZDUMyQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

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.

Thanks

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/5aa70ca9-1db5-416a-970f-4d519eb6d635%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

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.

Jörg

On Mon, Apr 13, 2015 at 5:07 AM, Ted Smith tedsmithgroup@gmail.com 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.

Thanks

--
You received this message because you are subscribed to the Google Groups
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/elasticsearch/837f8bc5-7266-4673-84d4-44a73dde7cb9%40googlegroups.com
https://groups.google.com/d/msgid/elasticsearch/837f8bc5-7266-4673-84d4-44a73dde7cb9%40googlegroups.com?utm_medium=email&utm_source=footer
.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CAKdsXoGMXPVmTD%2Bp5LEZu2g%3D%2BhhpTF38EROELROAZqocmdxbvA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

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].

[1]
http://www.elastic.co/guide/en/elasticsearch/client/java-api/current/client.html#node-client
[2] https://github.com/elastic/elasticsearch/blob/master/src/main/java/org/elasticsearch/node/Node.java#L223
[3] https://github.com/elastic/elasticsearch/blob/master/src/main/java/org/elasticsearch/transport/local/LocalTransport.java

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.

Thanks

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/1cca84a4-6b1c-4ba0-96dd-b4e6ec778523%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

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].

[1]
http://www.elastic.co/guide/en/elasticsearch/client/java-api/current/client.html#node-client
[2]
https://github.com/elastic/elasticsearch/blob/master/src/main/java/org/elasticsearch/node/Node.java#L223
[3]
https://github.com/elastic/elasticsearch/blob/master/src/main/java/org/elasticsearch/transport/local/LocalTransport.java

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.

Thanks

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/1ac9ef6f-05a5-4efa-8377-e876ff05cb59%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.