# Ingest pipeline - How to stores the split values into separate new fields?

**URL:** <https://discuss.elastic.co/t/ingest-pipeline-how-to-stores-the-split-values-into-separate-new-fields/200567>\
**Category:** Elasticsearch\
**Created:** [September 22, 2019, 10:04am UTC](https://discuss.elastic.co/t/ingest-pipeline-how-to-stores-the-split-values-into-separate-new-fields/200567 "2019-09-22T10:04:07Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![abdon](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/abdon/32/9195_2.png) [@abdon](https://discuss.elastic.co/u/abdon)\
**Post date:** [September 23, 2019, 8:34am UTC](https://discuss.elastic.co/t/ingest-pipeline-how-to-stores-the-split-values-into-separate-new-fields/200567/2 "2019-09-23T08:34:32Z")

</div>

I don't think this is possible with just the `split` processor. Instead, you can first split into a temporary field, and then next use three `set` processors to assign the different array elements to the different fields:

```auto
POST _ingest/pipeline/_simulate
{
  "pipeline": {
    "description": "split words on line_number field",
    "processors": [
      {
        "split": {
          "field": "line_number",
          "separator": "\\.+",
          "target_field": "temporary_field"
        }
      },
      {
        "set": {
          "field": "field1",
          "value": "{{temporary_field.0}}"
        }
      },
      {
        "set": {
          "field": "field2",
          "value": "{{temporary_field.1}}"
        }
      },
      {
        "set": {
          "field": "field3",
          "value": "{{temporary_field.2}}"
        }
      },
      {
        "remove": {
          "field": "temporary_field"
        }
      }
    ]
  },
  "docs": [
    {
      "_source": {
        "line_number": "1.2.3"
      }
    }
  ]
}

```

---

_[View the full topic](https://discuss.elastic.co/t/ingest-pipeline-how-to-stores-the-split-values-into-separate-new-fields/200567)._
