如何使用Jest获取弹性搜索中索引的创建时间

时间:2016-04-28 11:23:41

标签: elasticsearch exchangewebservices jest

我正在尝试删除24小时前创建的elasticsearch索引。我没有找到一种方法来获取特定节点的索引的创建时间。使用弹簧靴弹性搜索可以完成。但我正在使用Jest API。

1 个答案:

答案 0 :(得分: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