Class SimulateBulkRequest

All Implemented Interfaces:
org.apache.lucene.util.Accountable, CompositeIndicesRequest, IndicesRequest, WriteRequest<BulkRequest>, Writeable, RefCounted, TaskAwareRequest, RawIndexingDataTransportRequest

public class SimulateBulkRequest extends BulkRequest implements IndicesRequest
This extends BulkRequest with support for providing substitute pipeline definitions, component template definitions, and index template substitutions. In a user request, the substitutions will look something like this: "pipeline_substitutions": { "my-pipeline-1": { "processors": [ { "set": { "field": "my-new-boolean-field", "value": true } } ] }, "my-pipeline-2": { "processors": [ { "set": { "field": "my-new-boolean-field", "value": true }, "rename": { "field": "old_field", "target_field": "new field" } } ] } }, "component_template_substitutions": { "my-template-1": { "template": { "settings": { "number_of_shards": 1 }, "mappings": { "_source": { "enabled": false }, "properties": { "host_name": { "type": "keyword" }, "created_at": { "type": "date", "format": "EEE MMM dd HH:mm:ss Z yyyy" } } } } } }, "index_template_substitutions": { "my-index-template-1": { "template": { "index_patterns": ["foo*", "bar*"] "composed_of": [ "component-template-1", "component-template-2" ] } } }, "mapping_addition": { "dynamic": "strict", "properties": { "foo": { "type": "keyword" } } The pipelineSubstitutions Map held by this class is intended to be the result of XContentHelper.convertToMap(). The top-level keys are the pipelineIds ("my-pipeline-1" and "my-pipeline-2" in the example above). The values are the Maps of "processors" to the List of processor definitions.
  • Constructor Details

    • SimulateBulkRequest

      public SimulateBulkRequest(Map<String,Map<String,Object>> pipelineSubstitutions, Map<String,Map<String,Object>> componentTemplateSubstitutions, Map<String,Map<String,Object>> indexTemplateSubstitutions, Map<String,Object> mappingAddition)
      Parameters:
      pipelineSubstitutions - The pipeline definitions that are to be used in place of any pre-existing pipeline definitions with the same pipelineId. The key of the map is the pipelineId, and the value the pipeline definition as parsed by XContentHelper.convertToMap().
      componentTemplateSubstitutions - The component template definitions that are to be used in place of any pre-existing component template definitions with the same name.
      indexTemplateSubstitutions - The index template definitions that are to be used in place of any pre-existing index template definitions with the same name.
      mappingAddition - A mapping that will be merged into the final index's mapping for mapping validation
    • SimulateBulkRequest

      public SimulateBulkRequest(StreamInput in) throws IOException
      Throws:
      IOException
  • Method Details