ElasticSearch

Ebean のドキュメント ストアとして ElasticSearch を使用するには、以下の例のような `ebean.docstore` プロパティの構成を追加する必要があります。

ElasticSearch Docker コンテナを使用してテストするには、以下の例のように `ebean.docstore.elastic.version` プロパティを設定します。これにより、ebean-test で ElasticSearch が Docker コンテナとして実行されていることを確認します。

ebean:
  test:
    platform: h2
    ddlMode: dropCreate # none | dropCreate | migrations | create
    dbName: myapp

  docstore:
    url: http://127.0.0.1:9201
    active: true
    generateMapping: true
    dropCreate: true

    elastic: # For testing using docker container
      version: 5.6.0
      port: 9201

ロギングに関して、以下のように表示できます。

21:57:06.587 INFO  io.ebean.docker.commands.Commands - Start container ut_elastic with port:9201

ElasticSearch を単独で使用し、別のデータベースと一緒に使用しない場合は `ebean.test.platform` セクションを次のように除外します。

ebean:
  docstore:
    url: http://127.0.0.1:9201
    active: true
    generateMapping: true
    dropCreate: true

    elastic:
      version: 5.6.0
      port: 9201

ebean-elastic の依存関係

依存関係として `ebean-elastic` を追加します。

<dependency>
  <groupId>io.ebean</groupId>
  <artifactId>ebean-elastic</artifactId>
  <version>13.0.0</version>
</dependency>

構成プロパティ

プロパティ 説明
ebean.docstore.active true に設定して docstore の使用を有効にします。
ebean.docstore.url ElasticSearch が使用する予定の URL。
ebean.docstore.generateMapping true の場合、インデックス マッピングを生成します。
ebean.docstore.dropCreate true の場合、インデックスを削除して再作成します。

ElasticSearch の 詳細については、こちらをご覧ください。

Docker コンテナ

プログラムを使用して、ElasticContainer の Docker コンテナ バージョンを開始できます。

以下では、`ebean-test` にすでに含まれている `ebean-test-docker` 依存関係を使用します。 `ebean-test` に依存関係がない場合は、`io.ebean:ebean-test-docker:5.0` を依存関係として追加します。

package main;

import io.ebean.docker.commands.ElasticContainer;

public class Main {

  public static void main(String[] args) {

    ElasticContainer container = ElasticContainer.newBuilder("5.6.0")
      .build();

      container.start();
  }
}