0

我正在尝试从弹性搜索中删除 24 小时前创建的索引。我没有找到一种方法来获取特定节点的索引创建时间。使用 spring boot 弹性搜索,可以做到这一点。但是,我使用的是 Jest API。

4

1 回答 1

1

您可以获取settings.index.creation_date在创建索引时存储的值。

使用 curl 您可以使用以下方法轻松获得它:

curl -XGET localhost:9200/your_index/_settings

你得到:

{
  "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"
      }
    }
  }
}

使用 Jest,您可以使用以下方法获得相同的值:

    import io.searchbox.indices.settings.GetSettings;

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

然后,您可以使用JestResult以查找creation_date

如果我可以提出一些建议,curator将是实现您所需要的更方便的工具。

只需每天运行一次:

curator delete indices --older-than 1 --time-unit days
于 2016-04-28T11:35:40.620 回答