我不了解高级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优势吗?
答案 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问题: