我使用什么 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)));
但是!!! AWS ES 引擎不支持传输 9300 端点,因此决定改用 Java HTTP Resp API。我当然希望 AWS 文档对此更加明确,我已经浪费了很多时间来弄清楚这个问题。
最佳答案
您可以使用客户端管理界面同步检查名为INDEX_NAME 的索引是否存在
boolean exists = client.admin().indices()
.prepareExists(INDEX_NAME)
.execute().actionGet().isExists();
关于amazon-web-services - AWS JAVA ElasticsearchClient 集群和索引查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41308913/