Java High Level REST Client Index Template

265 阅读1分钟

Put Template API

PutIndexTemplateRequest request = new PutIndexTemplateRequest("my-template"); 
request.patterns(Arrays.asList("pattern-1", "log-*"));
request.settings(Settings.builder() 
    .put("index.number_of_shards", 3)
    .put("index.number_of_replicas", 1)
);
Map<String, Object> jsonMap = new HashMap<>();
{
    Map<String, Object> properties = new HashMap<>();
    {
        Map<String, Object> message = new HashMap<>();
        message.put("type", "text");
        properties.put("message", message);
    }
    jsonMap.put("properties", properties);
}
request.mapping(jsonMap);
AcknowledgedResponse putTemplateResponse = client.indices().putTemplate(request, RequestOptions.DEFAULT);
boolean acknowledged = putTemplateResponse.isAcknowledged(); 

Get Template API

GetIndexTemplatesRequest request = new GetIndexTemplatesRequest("my-template");
GetIndexTemplatesResponse getTemplatesResponse = client.indices().getIndexTemplate(request, RequestOptions.DEFAULT);
GetIndexTemplatesResponse getTemplatesResponse = client.indices().getIndexTemplate(request, RequestOptions.DEFAULT);
List<IndexTemplateMetaData> templates = getTemplatesResponse.getIndexTemplates();

Templates Exist API

IndexTemplatesExistRequest request = new IndexTemplatesExistRequest("my-template");
boolean exists = client.indices().existsTemplate(request, RequestOptions.DEFAULT);

Delete Template API

DeleteIndexTemplateRequest request = new DeleteIndexTemplateRequest();
request.name("my-template"); 
AcknowledgedResponse deleteTemplateAcknowledge = client.indices().deleteTemplate(request, RequestOptions.DEFAULT);
boolean acknowledged = deleteTemplateAcknowledge.isAcknowledged();