Spring Data JPA を利用して REST ベースのサービスを実装する Spring Boot アプリケーションがあります。ここで、Spring Data ElasticSearch を使用して全文検索機能を追加したいと考えています。Spring のすべての最新リリース バージョンを使用しています。
JPA リポジトリーと ElasticSearch リポジトリーを、互いに兄弟である異なるパッケージ (example.repository.jpa と example.repository.es) で定義しました。@RepositoryRestResource(exported = false)
REST 経由で ES のものを公開したくないので、ElasticSearch リポジトリを でマークしました。
ES リポジトリは、拡張されたインターフェイスとして定義され、ElasticsearchRepository<Domain, Long>
他には何もありません。
私が直面している問題は、アプリを起動すると、Spring Data Rest が混乱しているように見え、JPA リポジトリを公開する必要があるという事実を何らかの形で失っていることです。設定してみました
@EnableJpaRepositories("example.repository.jpa")
@EnableElasticsearchRepositories(basePackages = "example/repository/es")
構成を絞り込むためにメインアプリケーションクラスで実行しましたが、何も機能していません。
Domain オブジェクトは and とマークされて@Entity
おり@Document
、かなり単純な POJO です。
同じアプリケーションで同じ Domain オブジェクトを使用して Spring Data JPA と Spring Data Elasticsearch の両方を正常に使用した人はいますか? 誰かが共有したり、私に指摘したりできるサンプルコード/構成を持っていますか? これは正しい方法ですか?