アプリケーションの例
ebean-orm-examples/example-elasticには、調査やクローンを作成できるサンプルアプリケーションがあります
依存関係
プロジェクトへの依存関係としてebean-elasticを追加します。これにより、ドキュメントストアの実装としてEbeanに自動的に登録されます。
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-elastic</artifactId>
<version>12.2.1</version>
</dependency>
Beanマッピング
ElasticSearchでインデックス化したい各エンティティBeanに、@DocStoreアノテーションを追加します。
さらに、以下にマッピングを追加できます。
- 分析されないプロパティに
@DocCode - 分析され、分析されない両方のプロパティに
@DocSortable @ManyToOneおよび@OneToManyプロパティの埋め込まれたドキュメントを含める(非正規化)@DocEmbedded
詳細については、マッピングを参照してください。
生成されたインデックスマッピング
この時点でEbeanは、@DocStoreでアノテーションされた各BeanタイプのマッピングJSONを生成できます。
プロパティ
ebean.docstore.url=http://127.0.0.1:9200
ebean.docstore.active=true
ebean.docstore.generateMapping=true
ebean.docstore.dropCreate=true
#ebean.docstore.create=true
ebean.docstore.urlは必須であり、使用するElasticSearchサーバーのURLを指定します。現在、ネイティブトランスポートを使用する代替案はサポートされていません。
ebean.docstore.activeは、ドキュメントストアの統合がアクティブであることを示すためにtrueに設定する必要があります。
ebean.docstore.generateMappingがtrueに設定されると、Ebeanは各インデックスのマッピングファイルを生成し、それらはデフォルトでelastic-mappingのsrc/main/resourcesに生成されます。
ebean.docstore.dropCreateがtrueに設定されると、Ebeanの起動時にすべてのインデックスが削除されて再作成されます。または、ebean.docstore.createを使用して、まだ定義されていないインデックスのみを作成できます。
詳細については、マッピングの生成を参照してください。
githubで問題を確認
ebean-elasticに対して記録された問題を確認して、現在サポートされていないことや今後の拡張機能などを確認してください。