2013-08-28 19:24:34 -04:00
|
|
|
[[client]]
|
|
|
|
== Client
|
|
|
|
|
|
|
|
Obtaining an elasticsearch Groovy `GClient` (a `GClient` is a simple
|
|
|
|
wrapper on top of the Java `Client`) is simple. The most common way to
|
|
|
|
get a client is by starting an embedded `Node` which acts as a node
|
|
|
|
within the cluster.
|
|
|
|
|
2013-09-03 10:15:07 -04:00
|
|
|
|
2013-09-25 12:17:40 -04:00
|
|
|
[[node-client]]
|
2013-08-28 19:24:34 -04:00
|
|
|
=== Node Client
|
|
|
|
|
|
|
|
A Node based client is the simplest form to get a `GClient` to start
|
|
|
|
executing operations against elasticsearch.
|
|
|
|
|
|
|
|
[source,js]
|
|
|
|
--------------------------------------------------
|
|
|
|
import org.elasticsearch.groovy.client.GClient
|
|
|
|
import org.elasticsearch.groovy.node.GNode
|
|
|
|
import static org.elasticsearch.groovy.node.GNodeBuilder.nodeBuilder
|
|
|
|
|
|
|
|
// on startup
|
|
|
|
|
|
|
|
GNode node = nodeBuilder().node();
|
|
|
|
GClient client = node.client();
|
|
|
|
|
|
|
|
// on shutdown
|
|
|
|
|
|
|
|
node.close();
|
|
|
|
--------------------------------------------------
|
|
|
|
|
|
|
|
Since elasticsearch allows to configure it using JSON based settings,
|
|
|
|
the configuration itself can be done using a closure that represent the
|
|
|
|
JSON:
|
|
|
|
|
|
|
|
[source,js]
|
|
|
|
--------------------------------------------------
|
|
|
|
import org.elasticsearch.groovy.node.GNode
|
|
|
|
import org.elasticsearch.groovy.node.GNodeBuilder
|
|
|
|
import static org.elasticsearch.groovy.node.GNodeBuilder.*
|
|
|
|
|
|
|
|
// on startup
|
|
|
|
|
|
|
|
GNodeBuilder nodeBuilder = nodeBuilder();
|
|
|
|
nodeBuilder.settings {
|
|
|
|
node {
|
|
|
|
client = true
|
|
|
|
}
|
|
|
|
cluster {
|
|
|
|
name = "test"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
GNode node = nodeBuilder.node()
|
|
|
|
|
|
|
|
// on shutdown
|
|
|
|
|
|
|
|
node.stop().close()
|
|
|
|
--------------------------------------------------
|