高レベルREST CLient(トランスポートクライアントに代わる))とSpring Data Elasticsearchの関係がわかりません。
GetSomethingById()などの自動実装されたメソッドを使用してJPAスタイルのクエリを作成する方法を示すチュートリアル( https://www.baeldung.com/spring-data-elasticsearch-tutorial )があります。彼らはこのインターフェースを利用します:
public interface ElasticsearchRepository<T, ID extends Serializable> extends ElasticsearchCrudRepository<T, ID> {
しかし、ElasticsearchRepository
には@Configuration
- ElasticsearchTemplate-Beanを含むクラスで、これにはTransportClientが必要です。私が試した限りでは、それを高/低レベルに置き換える方法はありませんJava Rest Clients、no?
それで、最新の公式クライアントを使用したい場合、JPAの良さはありませんか?
これに関する未解決の問題がSpring Data ESリポジトリにあります: https://jira.spring.io/browse/DATAES-407
spring-data-elasticsearch 3.2.0(M2にRestClientを使用するコードが含まれているため)が利用可能になりました。
この質問への私の回答を参照してください: 設定方法については、Spring-Data-Elasticsearchが内部で使用するElasticsearchクライアントは何ですか?
Spring Data Mooreがこの機能を含めてリリースされました(2019年10月8日)。これが主な説明です。
Elasticsearch: High Level REST Client support & non Jackson based entity mapping
詳細が必要な場合は、このjiraの問題を確認できます。