OpenSearch/docs/groovy-api/client.asciidoc

60 lines
1.4 KiB
Plaintext
Raw Normal View History

[[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.
[[node-client]]
=== Node Client
A Node based client is the simplest form to get a `GClient` to start
executing operations against Elasticsearch.
[source,groovy]
--------------------------------------------------
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,groovy]
--------------------------------------------------
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()
--------------------------------------------------