我使用什么AWS Elasticsearch Java API指向AWS ElasticsearchClient群集并确定群集中是否存在索引?
以下是如何指向群集:
String endpoint = "search-name-ppb6tuag3s4srci5qwou6eumru.us-region-x.es.amazonaws.com";
es_client = new AWSElasticsearchClient( new BasicAWSCredentials(key,secret), clientConfig);
es_client.setEndpoint(endpoint);
AWS Elastic文档指向Elastic elastic.co API。而elastic.co API引用了它们的传输API:
client = TransportClient.builder().settings(settings).build();
client.addTransportAddress(new InetSocketTransportAddress(new InetSocketAddress(endpoint,9300)));
BUT !!! AWS ES引擎不支持传输9300端点,因此决定使用Java HTTP Resp API。我确实希望AWS文档更加明确,我已经花了很多时间来解决这个问题。
答案 0 :(得分:-1)
您可以使用客户端管理界面检查名称 INDEX_NAME 的索引是否存在同步
boolean exists = client.admin().indices()
.prepareExists(INDEX_NAME)
.execute().actionGet().isExists();