アプリケーションの例

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-mappingsrc/main/resourcesに生成されます。

ebean.docstore.dropCreateがtrueに設定されると、Ebeanの起動時にすべてのインデックスが削除されて再作成されます。または、ebean.docstore.createを使用して、まだ定義されていないインデックスのみを作成できます。

詳細については、マッピングの生成を参照してください。

githubで問題を確認

ebean-elasticに対して記録された問題を確認して、現在サポートされていないことや今後の拡張機能などを確認してください。