AWS JAVA ElasticsearchClient集群和索引查找

时间:2016-12-23 23:28:58

标签: amazon-web-services elasticsearch

我使用什么AWS Elasticsearch Java API指向AWS ElasticsearchClient群集并确定群集中是否存在索引?

1编辑:

以下是如何指向群集:

String endpoint = "search-name-ppb6tuag3s4srci5qwou6eumru.us-region-x.es.amazonaws.com";
es_client = new AWSElasticsearchClient( new BasicAWSCredentials(key,secret), clientConfig);    
es_client.setEndpoint(endpoint);

2编辑:

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文档更加明确,我已经花了很多时间来解决这个问题。

1 个答案:

答案 0 :(得分:-1)

您可以使用客户端管理界面检查名称​​ INDEX_NAME 的索引是否存在同步

boolean exists = client.admin().indices()
    .prepareExists(INDEX_NAME)
    .execute().actionGet().isExists();