How to Delete an Index in Elasticsearch Using Kibana

Have a Database Problem? Speak with an Expert for Free
Get Started >>

Introduction

When you’re working with data in Elasticsearch, there will likely be situations when you need to delete an index. You might have created an index just to test out some feature, but you don’t need to keep it permanently. You might have changed your overall data structure and find that you’re no longer using a particular index, or you may have migrated your data to another system. Regardless of the exact circumstances, it’s easy to remove an Elasticsearch index with the help of Kibana. In this step-by-step guide, we’ll show you how to delete an index in Elasticsearch using Kibana. If you already have experience doing similar tasks in Kibana and prefer to dive into the sample code, feel free to skip ahead to Just The Code.

Prerequisites

Before we explain how to delete an index in Elasticsearch using Kibana, it’s important to confirm that a few prerequisites are in place. For this task, the system requirements are minimal: both Elasticsearch and Kibana need to be installed and running.

To check if Elasticsearch is running, just execute the following command in the terminal: curl http://localhost:9200/_cluster/health?pretty

You should receive output containing information about your instance of Elasticsearch. If you know that Elasticsearch is installed but you don’t receive the expected output, you may need to restart the process on your machine.

To check if Kibana is running, visit the server’s status page in a browser:

1
localhost:5601/status

You should see status information about your installation of Kibana.

Delete an Index in Elasticsearch Using Kibana

Use the delete index API

Let’s take a look at a simple example showing how to delete a single index using the delete index API. In this example, we’ll be deleting an index called demo_index:

1
DELETE /demo_index

After the delete operation occurs, you’ll receive a confirmation message like below:

1
2
3
{
"acknowledged" : true
}

If the delete is unsuccessful for some reason, you’d get an error response similar to the one below. In this example, the error is that the index was not found:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
"error" : {
"root_cause" : [
{
"type" : "index_not_found_exception",
"reason" : "no such index",
"resource.type" : "index_or_alias",
"resource.id" : "demo_index",
"index_uuid" : "_na_",
"index" : "demo_index"
}
],
"type" : "index_not_found_exception",
"reason" : "no such index",
"resource.type" : "index_or_alias",
"resource.id" : "demo_index",
"index_uuid" : "_na_",
"index" : "demo_index"
},
"status" : 404
}

When you delete an index, you’re actually deleting an entire database table full of documents, so it’s important to use this command with care to avoid losing critical data. Fortunately, the Delete Index API is simple to understand and use, so mistakes tend to be uncommon.

How to delete multiple Indices

The example shown above illustrates how to delete a single index in Elasticsearch, but it’s also possible to delete multiple indices by using wildcard expressions or a comma-delimited list. You can even delete all indices using the “*” wildcard or the keyword _all.

Our next example will show how to use a wildcard expression to delete multiple indices. First, we need to create three indices to use in this example: index1,index2, and index3.

1
2
3
PUT demo_index1
PUT demo_index2
PUT demo_index3

We’ll delete all three indices in a single command by using the wildcard index*. This expression matches all three of our indices because the * will match any string that follows the word index:

1
DELETE /demo_index*

You’ll get a confirmation that looks like the following:

1
2
3
{
"acknowledged" : true
}

After performing the delete command, you can confirm that the indices have been deleted by using the command below to see a list of all your indices:

1
GET /_cat/indices
1
2
3
green open kibana_sample_data_flights IYOtjvkxSq2FpH6p4eBjFA 1 0 13059 0 6.2mb 6.2mb
green open kibana_sample_data_ecommerce ulNHue7YTbWMrbIujVjNmw 1 0 4675 0 4.6mb 4.6mb
green open kibana_sample_data_logs Hla0A3biTnSeRdXA0hKhLQ 1 0 14005 0 11.1mb 11.1mb

You can see that the three indices we deleted no longer exist.

Conclusion

If you’re managing data in Elasticsearch, you’ll probably need to delete an index at some point. Fortunately, it’s quick and easy to delete an index in Elasticsearch using Kibana. With the step-by-step instructions described in this tutorial, you’ll have no trouble deleting either a single index or even multiple indices.

Just the Code

If you’re already familiar with the concept of deleting an index, here’s all the code you need to delete a single index or multiple indices:

To delete a single index:

1
DELETE /demo_index

To delete multiple indices with a wildcard expression:

1
DELETE /demo_index*

Pilot the ObjectRocket Platform Free!

Try Fully-Managed CockroachDB, Elasticsearch, MongoDB, PostgreSQL (Beta) or Redis.

Get Started

Keep in the know!

Subscribe to our emails and we’ll let you know what’s going on at ObjectRocket. We hate spam and make it easy to unsubscribe.