abc*_*f12 17 java amazon-web-services elasticsearch spring-boot spring-data-elasticsearch
我正处于使用Spring启动和AWS弹性搜索服务的情况.AWS Elasticsearch服务,仅提供REST接口.
Elasticsearch Rest Client在这里.
简单地说,是否可以将REST客户端与Spring Data Elasticsearch一起使用?
换句话说,Spring Data Elasticsearch是否适用于Elasticsearch Rest客户端?
Spring Data Elasticsearch非常易于使用,模板提供了我所需要的大部分功能.使用Elasicsearch Rest客户端,我必须自己实现所有功能.
Prz*_*wak 24
[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)
根据文档(它当然可以改变,因为它不是最终版本所以我会把它放在这里):
众所周知的TransportClient自Elasticsearch 7.0.0起已弃用,预计将在Elasticsearch 8.0中删除.
2.1.高级REST客户端
Java高级REST客户端为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);
Run Code Online (Sandbox Code Playgroud)
[原始答案]
目前,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.
希望能帮助到你.
| 归档时间: |
|
| 查看次数: |
11381 次 |
| 最近记录: |