# Delete all data from index without deleting index?

**URL:** <https://discuss.elastic.co/t/delete-all-data-from-index-without-deleting-index/87661>\
**Category:** Elasticsearch\
**Created:** [May 31, 2017, 4:12am UTC](https://discuss.elastic.co/t/delete-all-data-from-index-without-deleting-index/87661 "2017-05-31T04:12:03Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sjaak01](https://avatars.discourse-cdn.com/v4/letter/s/73ab20/32.png) [@Sjaak01](https://discuss.elastic.co/u/Sjaak01)\
**Post date:** [May 31, 2017, 4:12am UTC](https://discuss.elastic.co/t/delete-all-data-from-index-without-deleting-index/87661/1 "2017-05-31T04:12:03Z")

</div>

Hello,

As per the topic title, is it possible to delete all data from an index without deleting the index? I don't want to have to recreate the fields and dashboards/visualizations (I know I can export those but still).

---

<div class="post-metadata">

**Author:** ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)\
**Post date:** [May 31, 2017, 5:25am UTC](https://discuss.elastic.co/t/delete-all-data-from-index-without-deleting-index/87661/2 "2017-05-31T05:25:58Z")

</div>

You can using a delete by query, but it's seriously inefficient.

---

<div class="post-metadata">

**Author:** ![Sjaak01](https://avatars.discourse-cdn.com/v4/letter/s/73ab20/32.png) [@Sjaak01](https://discuss.elastic.co/u/Sjaak01)\
**Post date:** [May 31, 2017, 7:20am UTC](https://discuss.elastic.co/t/delete-all-data-from-index-without-deleting-index/87661/3 "2017-05-31T07:20:53Z")

</div>

Would you mind sharing the query?

As long as it deletes everything but leaves the index & visualizations alone I don't mind its inefficient. This is just test data and its not that much data so I don't mind having to wait a bit longer.

---

<div class="post-metadata">

**Author:** ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)\
**Post date:** [May 31, 2017, 7:21am UTC](https://discuss.elastic.co/t/delete-all-data-from-index-without-deleting-index/87661/4 "2017-05-31T07:21:40Z")

</div>

Why not just delete the specific index and repopulate?  
[https://www.elastic.co/guide/en/elasticsearch/reference/5.4/docs-delete-by-query.html](https://www.elastic.co/guide/en/elasticsearch/reference/5.4/docs-delete-by-query.html)

---

<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:** [May 31, 2017, 7:33am UTC](https://discuss.elastic.co/t/delete-all-data-from-index-without-deleting-index/87661/5 "2017-05-31T07:33:34Z")

</div>

Yes. Just to make sure that everything is clear. When you run a

```auto
DELETE my_index

```

You just remove your index data but you don't touch `.kibana` index which contains all the kibana stuff.

---

<div class="post-metadata">

**Author:** ![Sjaak01](https://avatars.discourse-cdn.com/v4/letter/s/73ab20/32.png) [@Sjaak01](https://discuss.elastic.co/u/Sjaak01)\
**Post date:** [May 31, 2017, 7:52am UTC](https://discuss.elastic.co/t/delete-all-data-from-index-without-deleting-index/87661/6 "2017-05-31T07:52:00Z")

</div>

I ended up doing that but it looks like you can't use wildcards (e.g twitter-\*) so I had to delete 40 indexes by hand.

@dadoonet Thanks, I'll remember that one for next time.

---

<div class="post-metadata">

**Author:** ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)\
**Post date:** [May 31, 2017, 8:05am UTC](https://discuss.elastic.co/t/delete-all-data-from-index-without-deleting-index/87661/7 "2017-05-31T08:05:27Z")

</div>

> [@Sjaak01](#):
>
> it looks like you can't use wildcards (e.g twitter-\*) so I had to delete 40 indexes by hand.

Sure you can.

`curl -XDELETE 0:9200/twitter*`.

---

<div class="post-metadata">

**Author:** ![Sjaak01](https://avatars.discourse-cdn.com/v4/letter/s/73ab20/32.png) [@Sjaak01](https://discuss.elastic.co/u/Sjaak01)\
**Post date:** [May 31, 2017, 8:23am UTC](https://discuss.elastic.co/t/delete-all-data-from-index-without-deleting-index/87661/8 "2017-05-31T08:23:46Z")

</div>

I couldn't get it working with the example on the user guide.

Anyway I tried @dadoonet 's recommendation and that worked like a charm. Requires the least amount of typing too.

---

<div class="post-metadata">

**Author:** ![slovdahl](https://avatars.discourse-cdn.com/v4/letter/s/439d5e/32.png) [@slovdahl](https://discuss.elastic.co/u/slovdahl)\
**Post date:** [May 31, 2017, 10:38am UTC](https://discuss.elastic.co/t/delete-all-data-from-index-without-deleting-index/87661/9 "2017-05-31T10:38:55Z")

</div>

Try escaping the wildcard, like this:

```
curl -XDELETE 0:9200/twitter-\*
```

---

<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:** [June 28, 2017, 10:38am UTC](https://discuss.elastic.co/t/delete-all-data-from-index-without-deleting-index/87661/10 "2017-06-28T10:38:57Z")

</div>

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