使用RestHighLevelClient

时间:2018-08-15 04:47:15

标签: java spring elasticsearch spring-data spring-data-elasticsearch

我不了解高级REST CLient(代替Transport Client)和Spring Data Elasticsearch之间的关系。

有一些教程(https://www.baeldung.com/spring-data-elasticsearch-tutorial)显示了如何使用诸如getSomethingById()之类的自动实现的方法进行JPA样式的查询。他们利用此界面:

public interface ElasticsearchRepository<T, ID extends Serializable> extends ElasticsearchCrudRepository<T, ID> {

但是ElasticsearchRepository似乎需要一个带有ElasticsearchTemplate-Bean的@Configuration类,并且需要TransportClient。据我尝试,无法用高/低级别Java Rest客户端替换它,不是吗?

因此,如果我想使用最新的官方客户端,对我来说没有JPA优势吗?

3 个答案:

答案 0 :(得分:3)

Spring Data ES存储库中有一个与此相关的公开问题:https://jira.spring.io/browse/DATAES-407

答案 1 :(得分:0)

spring-data-elasticsearch 3.2.0,现在可用,因为M2包含使用RestClient的代码。

请参阅我对以下问题的回答:What Elasticsearch client does Spring-Data-Elasticsearch use under the hood?,以了解如何设置

答案 2 :(得分:0)

Spring Data Moore已发布,包括此功能(2019年10月8日),这是主要说明:

Elasticsearch: High Level REST Client support & non Jackson based entity mapping

如果您需要更多详细信息,则可以查看此jira问题:

https://jira.spring.io/browse/DATAES-407了解更多信息