es集群设置
集群配置节点三个及以上。一个master,多个slave。 节点只剩两个时依旧可以连接(一主一从,master挂了会由其他slave竞选上master,因此可能出现脑裂问题)。 当集群只剩下一个节点时将无法连接(无法保证有主从节点)。
java连接多节点方式(简易)
String[] uris={"http://127.0.0.1:9200", "http://127.0.0.1:8200", "http://127.0.0.1:8300"};
HttpHost[] httpHosts = Arrays.stream(uris).map(HttpHost::create).toArray(HttpHost[]::new);
RestClientBuilder builder = RestClient.builder(httpHosts);
RestHighLevelClient restHighLevelClient = new RestHighLevelClient(builder);
// 创建并设置SearchRequest对象
SearchRequest searchRequest = new SearchRequest();
// 设置request要搜索的索引和类型
searchRequest.indices("demo_test").types("_doc");
// 设置SearchSourceBuilder查询属性
try {
SearchResponse searchResponse=restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT);
Aggregations aggregations=searchResponse.getAggregations();
Terms terms=aggregations.get("source");
} catch (IOException e) {
e.printStackTrace();
}