Put Mapping APIedit
Put Mapping Requestedit
A PutMappingRequest
requires an index
argument, and a type:
Mapping sourceedit
A description of the fields to create on the mapping; if not defined, the mapping will default to empty.
Providing the mapping sourceedit
The mapping source can be provided in different ways in addition to
the String
example shown above:
Map<String, Object> jsonMap = new HashMap<>(); Map<String, Object> message = new HashMap<>(); message.put("type", "text"); Map<String, Object> properties = new HashMap<>(); properties.put("message", message); jsonMap.put("properties", properties); request.source(jsonMap);
XContentBuilder builder = XContentFactory.jsonBuilder(); builder.startObject(); { builder.startObject("properties"); { builder.startObject("message"); { builder.field("type", "text"); } builder.endObject(); } builder.endObject(); } builder.endObject(); request.source(builder);
Mapping source provided as an |
Optional argumentsedit
The following arguments can optionally be provided:
Timeout to wait for the all the nodes to acknowledge the index creation as a |
|
Timeout to wait for the all the nodes to acknowledge the index creation as a |
Synchronous Executionedit
AcknowledgedResponse putMappingResponse = client.indices().putMapping(request, RequestOptions.DEFAULT);
Asynchronous Executionedit
The asynchronous execution of a put mappings request requires both the PutMappingRequest
instance and an ActionListener
instance to be passed to the asynchronous
method:
The asynchronous method does not block and returns immediately. Once it is
completed the ActionListener
is called back using the onResponse
method
if the execution successfully completed or using the onFailure
method if
it failed.
A typical listener for PutMappingResponse
looks like:
Put Mapping Responseedit
The returned PutMappingResponse
allows to retrieve information about the executed
operation as follows: