これは私のために働くように見えた:
final String index = "myindex";
final String type = "mytype";
final String id = "myid";
final PutMapping putMapping = new PutMapping.Builder(index, type, "{ \"_ttl\" : { \"enabled\" : true } }").build();
client.execute(putMapping);
final Map<String, String> documentToIndex = new HashMap<String, String>();
documentToIndex.put("name", "Fred");
documentToIndex.put("phoneNumber", "1234");
documentToIndex.put("_ttl", "30s"); // Set the TTL
final String jsonDocument = gson.toJson(documentToIndex);
final JestResult result = client.execute(new Index.Builder(jsonDocument).index(index).type(type).id(id).build());
私は、TTLの使用に対して助言するのではなく、それを構造化することができる場合は、データの後にインデックス全体を削除することができるようにあなたのデータについて考える「期限切れ」 。これは、TTLを使用するよりもずっと効率的です。 –
データの期限が切れているインデックスだけを削除する方法を詳しく教えてください – sweety
キュレーターというツールを使って '-OLDER-THAN integer_value'インデックスを削除してください:https://www.elastic.co/guide/en/elasticsearch /client/curator/current/indices-subcommand.html –