Link Search Menu Expand Document Documentation Menu

Simulate a pipeline

Simulates an ingest pipeline with any example documents you specify.

Example

POST /_ingest/pipeline/35678/_simulate
{
  "docs": [
    {
      "_index": "index",
      "_id": "id",
      "_source": {
        "location": "document-name"
      }
    },
    {
      "_index": "index",
      "_id": "id",
      "_source": {
        "location": "document-name"
      }
    }
  ]
}

Path and HTTP methods

Simulate the last ingest pipeline created.

GET _ingest/pipeline/_simulate
POST _ingest/pipeline/_simulate

Simulate a single pipeline based on the pipeline’s ID.

GET _ingest/pipeline/{id}/_simulate
POST _ingest/pipeline/{id}/_simulate

URL parameters

All URL parameters are optional.

Parameter Type Description
verbose boolean Verbose mode. Display data output for each processor in executed pipeline.

Request body fields

Field Required Type Description
pipeline Optional object The pipeline you want to simulate. When included without the pipeline {id} inside the request path, the response simulates the last pipeline created.
docs Required array of objects The documents you want to use to test the pipeline.

The docs field can include the following subfields:

Field Required Type Description
id Optional string An optional identifier for the document. The identifier cannot be used elsewhere in the index.
index Optional string The index where the document’s transformed data appears.
source Required object The document’s JSON body.

Response

Responses vary based on which path and HTTP method you choose.

Specify pipeline in request body

{
  "docs" : [
    {
      "doc" : {
        "_index" : "index",
        "_id" : "id",
        "_source" : {
          "location" : "new-new",
          "field2" : "_value"
        },
        "_ingest" : {
          "timestamp" : "2022-02-07T18:47:57.479230835Z"
        }
      }
    },
    {
      "doc" : {
        "_index" : "index",
        "_id" : "id",
        "_source" : {
          "location" : "new-new",
          "field2" : "_value"
        },
        "_ingest" : {
          "timestamp" : "2022-02-07T18:47:57.47933496Z"
        }
      }
    }
  ]
}

Specify pipeline ID inside HTTP path

{
  "docs" : [
    {
      "doc" : {
        "_index" : "index",
        "_id" : "id",
        "_source" : {
          "field-name" : "value",
          "location" : "document-name"
        },
        "_ingest" : {
          "timestamp" : "2022-02-03T21:47:05.382744877Z"
        }
      }
    },
    {
      "doc" : {
        "_index" : "index",
        "_id" : "id",
        "_source" : {
          "field-name" : "value",
          "location" : "document-name"
        },
        "_ingest" : {
          "timestamp" : "2022-02-03T21:47:05.382803544Z"
        }
      }
    }
  ]
}

Receive verbose response

With the verbose parameter set to true, the response shows how each processor transforms the specified document.

{
  "docs" : [
    {
      "processor_results" : [
        {
          "processor_type" : "set",
          "status" : "success",
          "doc" : {
            "_index" : "index",
            "_id" : "id",
            "_source" : {
              "field-name" : "value",
              "location" : "document-name"
            },
            "_ingest" : {
              "pipeline" : "35678",
              "timestamp" : "2022-02-03T21:45:09.414049004Z"
            }
          }
        }
      ]
    },
    {
      "processor_results" : [
        {
          "processor_type" : "set",
          "status" : "success",
          "doc" : {
            "_index" : "index",
            "_id" : "id",
            "_source" : {
              "field-name" : "value",
              "location" : "document-name"
            },
            "_ingest" : {
              "pipeline" : "35678",
              "timestamp" : "2022-02-03T21:45:09.414093212Z"
            }
          }
        }
      ]
    }
  ]
}