[2019年2月更新]
现在看到3.2.0 M1 Spring Data
Elasticsearch支持HTTP客户端(https://docs.spring.io/spring-
data/elasticsearch/docs/3.2.0.M1/reference/html/#reference)
根据文档(它可能会更改,因为它不是最终版本,所以我将其放在此处):
从Elasticsearch 7.0.0开始不推荐使用众所周知的TransportClient,并且应该在Elasticsearch 8.0中将其删除。
2.1。高级REST客户端
Java High Level REST
Client接受并返回完全相同的请求/响应对象,因此直接替代了TransportClient,因此依赖于Elasticsearch核心项目。异步调用在客户端管理的线程池上进行,并要求在完成请求后通知回调。
例子49.高级REST客户端
static class Config { @Bean RestHighLevelClient client() { ClientConfiguration clientConfiguration = ClientConfiguration.builder() .connectedTo("localhost:9200", "localhost:9201") .build(); return RestClients.create(clientConfiguration).rest(); }}// ...IndexRequest request = new IndexRequest("spring-data", "elasticsearch", randomId()) .source(singletonMap("feature", "high-level-rest-client")) .setRefreshPolicy(IMMEDIATE);IndexResponse response = client.index(request);[原始回答]
当前,Spring Data Elasticsearch不支持REST API的通信。他们正在使用运输客户端。
Spring Data Elasticsearch有一个单独的分支(与您一样,该人在AWS上也需要它),其中使用了JEST库,并通过REST进行通信:
https://github.com/VanRoy/spring-data-jest
您将在Spring Data Elasticsearch的以下标记下找到有趣的讨论:
https://jira.spring.io/browse/DATAES-220
我认为,根据Elasticsearch团队声明他们计划仅支持ES的HTTP通信,Spring Data Elasticseach将来将需要迁移到REST。
希望能帮助到你。



