# Bulk Insert to elastic search using java?

**URL:** <https://discuss.elastic.co/t/bulk-insert-to-elastic-search-using-java/123481>\
**Category:** Elasticsearch\
**Created:** [March 12, 2018, 6:04am UTC](https://discuss.elastic.co/t/bulk-insert-to-elastic-search-using-java/123481 "2018-03-12T06:04:48Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![prasanth](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/prasanth/32/28662_2.png) [@prasanth](https://discuss.elastic.co/u/prasanth)\
**Post date:** [March 12, 2018, 6:04am UTC](https://discuss.elastic.co/t/bulk-insert-to-elastic-search-using-java/123481/1 "2018-03-12T06:04:48Z")

</div>

Hi,  
I would like to insert a json array of data to elastic search . Each element in array represents different documents under a type . How can I achieve this using Java without any ES clients . ? Please suggest a solution.

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [March 12, 2018, 6:18am UTC](https://discuss.elastic.co/t/bulk-insert-to-elastic-search-using-java/123481/2 "2018-03-12T06:18:52Z")

</div>

You need to:

- spilt the array into individual documents

For each doc:

- create a header line for each doc
- append each doc

At some point:

- create an http call to the bulk API and pass what you built so far as the body

And continue until you don't have any remaining document

---

<div class="post-metadata">

**Author:** ![prasanth](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/prasanth/32/28662_2.png) [@prasanth](https://discuss.elastic.co/u/prasanth)\
**Post date:** [March 12, 2018, 8:22am UTC](https://discuss.elastic.co/t/bulk-insert-to-elastic-search-using-java/123481/3 "2018-03-12T08:22:23Z")

</div>

Hi dadoonet,  
Thanks for your sudden replay . But actually i didn't get 'create a header line for each doc  
' . I have checked through some documents . But didn't get a proper answer . Can u please suggest example code ? My document structure is like the following`[{"index":{"_index":"test_index","_type":"test"}} {"number":1} {"index":{"_index":"test_index","_type":"test"}} {"number":1} {"index":{"_index":"test_index","_type":"test"}} {"number":1} {"index":{"_index":"test_index","_type":"test"}} {"number":1}]` .

---

<div class="post-metadata">

**Author:** ![Christian\_Dahlqvist](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/christian_dahlqvist/32/4617_2.png) [@Christian\_Dahlqvist](https://discuss.elastic.co/u/Christian_Dahlqvist)\
**Post date:** [March 12, 2018, 8:24am UTC](https://discuss.elastic.co/t/bulk-insert-to-elastic-search-using-java/123481/4 "2018-03-12T08:24:50Z")

</div>

Bulk requests need to strictly follow the format shown in the examples [in the documentation](https://www.elastic.co/guide/en/elasticsearch/reference/6.2/docs-bulk.html).

---

<div class="post-metadata">

**Author:** ![prasanth](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/prasanth/32/28662_2.png) [@prasanth](https://discuss.elastic.co/u/prasanth)\
**Post date:** [March 14, 2018, 1:04pm UTC](https://discuss.elastic.co/t/bulk-insert-to-elastic-search-using-java/123481/5 "2018-03-14T13:04:16Z")

</div>

Thanks You All. I have achieved it. 🙂

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [April 11, 2018, 1:11pm UTC](https://discuss.elastic.co/t/bulk-insert-to-elastic-search-using-java/123481/6 "2018-04-11T13:11:12Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
