1

我是弹性搜索的新手,我想使用应用程序中的 jest API 使弹性搜索中索引的文档过期。我发现有一个称为 TTL 的参数。但是我在开玩笑的客户端将参数设置为启用和真实时遇到了问题。请让我知道如何做到这一点。提前致谢!

4

1 回答 1

1

这似乎对我有用:

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());
于 2016-05-17T16:03:57.383 回答