# Separate Documents from log (JSON)

**URL:** <https://discuss.elastic.co/t/separate-documents-from-log-json/369116>\
**Category:** Logstash\
**Created:** [October 21, 2024, 5:55am UTC](https://discuss.elastic.co/t/separate-documents-from-log-json/369116 "2024-10-21T05:55:10Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Naveenchand\_R\_B](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/naveenchand_r_b/32/137449_2.png) [@Naveenchand\_R\_B](https://discuss.elastic.co/u/Naveenchand_R_B)\
**Post date:** [October 21, 2024, 5:55am UTC](https://discuss.elastic.co/t/separate-documents-from-log-json/369116/1 "2024-10-21T05:55:10Z")

</div>

Hi,  
I have a `json` which has array of json objects. I want to create `seperate documents` for each item inside the array

**Example JSON:**

```auto
{
  "MainID": "12345",
  "MainDocs": [
  {
    "PositionId": "p1",
    "PositionName": "Position 12345"
  },
  {
    "PositionId": "p2",
    "PositionName": "Position 12345"
  },
  ]
}

```

I want to index it as separate documents to contain MainID and positionID p1 as one document and another document with MainID and positionID p2.

**Logstash Configuration**

```auto
filter {
  json {
    source => "main_json"
    target => "main_data"  
    remove_field => ["main_json"] 
  }

  if [main_data][MainDocs] {
    split {
      field => "[main_data][MainDocs]"
    }
  }
}

```

I have used `split` filter. But in elasticsearch it is indexing as a same document with value as arrays.

**Example:** `MainDocs.PositionID = [p1, p2]`

Can anyone help me on how to create separate documents for each item inside the array?
