2016-04-27 3 views
1

私は弾性検索を初めて行ったので、アプリケーションからjest APIを使用して弾性検索でインデックス付けされた文書を期限切れにしたいと思います。私はそれのためのTTLと呼ばれるパラメータがあることがわかりました。しかし、私は問題を直面していると、Jestクライアントから有効で真のパラメータを設定します。これを達成する方法を教えてください。 ありがとうございます!Javaアプリケーションからjest apiを使用して、弾性検索で文書の有効期限が切れるようにするにはどうすればよいですか?

+0

私は、TTLの使用に対して助言するのではなく、それを構造化することができる場合は、データの後にインデックス全体を削除することができるようにあなたのデータについて考える「期限切れ」 。これは、TTLを使用するよりもずっと効率的です。 –

+0

データの期限が切れているインデックスだけを削除する方法を詳しく教えてください – sweety

+0

キュレーターというツールを使って '-OLDER-THAN integer_value'インデックスを削除してください:https://www.elastic.co/guide/en/elasticsearch /client/curator/current/indices-subcommand.html –

答えて

0

これは私のために働くように見えた:

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()); 
関連する問題