Put Mapping API
editPut Mapping API
editPut Mapping Request
editA PutMappingRequest
requires an index
argument, and a type:
Mapping source
editA description of the fields to create on the mapping; if not defined, the mapping will default to empty.
Providing the mapping source
editThe 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 arguments
editThe 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 Execution
editPutMappingResponse putMappingResponse = client.indices().putMapping(request, RequestOptions.DEFAULT);
Asynchronous Execution
editThe 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 Response
editThe returned PutMappingResponse
allows to retrieve information about the executed
operation as follows: