summaryrefslogtreecommitdiff
path: root/docs/groovy-api/index_.asciidoc
blob: 0e65a11863a66fca4683dc71712eef525a7c9a3b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
[[index_]]
== Index API

The index API is very similar to the
{java}/index_.html[Java index API]. The Groovy
extension to it is the ability to provide the indexed source using a
closure. For example:

[source,js]
--------------------------------------------------
def indexR = client.index {
    index "test"
    type "type1"
    id "1"
    source {
        test = "value"
        complex {
            value1 = "value1"
            value2 = "value2"
        }
    }
}
--------------------------------------------------

In the above example, the source closure itself gets transformed into an
XContent (defaults to JSON). In order to change how the source closure
is serialized, a global (static) setting can be set on the `GClient` by
changing the `indexContentType` field.

Note also that the `source` can be set using the typical Java based
APIs, the `Closure` option is a Groovy extension.