sweety
sweety

Reputation: 23

How to get creation time of indices in elastic search using Jest

I am trying to delete the indexes from elasticsearch which are created 24 hours before. I am not finding a way to get the creation time of indices for the particular node. Using spring boot elastic search, this can be accomplished. However, I am using the Jest API.

Upvotes: 0

Views: 2014

Answers (1)

Val
Val

Reputation: 217304

You can get the settings.index.creation_date value that was stored at index creation time.

With curl you can get it easily using:

curl -XGET localhost:9200/your_index/_settings

You get:

{
  "your_index" : {
    "settings" : {
      "index" : {
        "creation_date" : "1460663685415",   <--- this is what you're looking for
        "number_of_shards" : "5",
        "number_of_replicas" : "1",
        "version" : {
          "created" : "1040599"
        },
        "uuid" : "dIG5GYsMTueOwONu4RGSQw"
      }
    }
  }
}

With Jest, you can get the same value using:

    import io.searchbox.indices.settings.GetSettings;

    GetSettings getSettings = new GetSettings.Builder().build();
    JestResult result = client.execute(getSettings);

You can then use JestResult in order to find the creation_date

If I may suggest something, curator would be a much handier tool for achieving what you need.

Simply run this once a day:

curator delete indices --older-than 1 --time-unit days

Upvotes: 1

Related Questions