Client

edit

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

edit

A Node based client is the simplest form to get a GClient to start executing operations against elasticsearch.

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:

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()