FineReport で Elasticsearch のデータ を利用する

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
FineReport で Elasticsearch のデータ をJDBC データソースとして設定する方法。

CData JDBC Driver for Elasticsearch は、JDBC 標準を完全に実装しており、さまざまなBI、レポート、ETL ツール、カスタムアプリケーションに Elasticsearch のデータ への接続を提供します。この記事では、FineReport で Elasticsearch のデータ をJDBC データソースとして設定し、レポートデザイナーで Elasticsearch のデータ をテーブルとして表示する方法を説明します。

Elasticsearch データ連携について

CData を使用すれば、Elasticsearch のライブデータへのアクセスと統合がこれまでになく簡単になります。お客様は CData の接続機能を以下の目的で利用しています:

  • SQL エンドポイントと REST エンドポイントの両方にアクセスでき、接続を最適化し、Elasticsearch データの読み書きに関してより多くのオプションを提供します。
  • v2.2 以降およびオープンソース Elasticsearch サブスクリプションを含む、ほぼすべての Elasticsearch インスタンスに接続できます。
  • SCORE() 関数を明示的に要求することなく、常にクエリ結果の関連性スコアを受け取ることができます。これにより、サードパーティツールからのアクセスが簡素化され、クエリ結果のテキスト関連性のランキングを簡単に確認できます。
  • 複数のインデックスを検索でき、クライアントマシンではなく Elasticsearch がクエリと結果の管理・処理を担当します。

ユーザーは、Crystal Reports、Power BI、Excel などの分析ツールと Elasticsearch データを統合し、当社のツールを活用して、Elasticsearch を含むすべてのデータソースへの単一のフェデレートアクセスレイヤーを実現しています。

CData の Elasticsearch ソリューションの詳細については、ナレッジベース記事をご覧ください:CData Elasticsearch Driver Features & Differentiators


はじめに


Elasticsearch のデータ のJDBC データソースをセットアップする

以下の手順に従って、FineReport のデータベース接続として Elasticsearch のデータ を設定します。

  1. CData JDBC Driver for Elasticsearch のインストールディレクトリにあるlib フォルダから、cdata.jdbc.elasticsearch.jar ファイルをFineReport のインストールディレクトリにあるlib フォルダにコピーします。cdata.jdbc.elasticsearch.lic ファイルも同様にコピーしてください。
  2. ServerタブからDefine Data Connectionを選択し、クリックして新しい接続を追加してJDBCをクリックします。

続いて、ウィンドウでデータ接続の定義を設定します。

  1. Database: Others
  2. JDBC Driver: cdata.jdbc.elasticsearch.ElasticsearchDriver
  3. URL: セミコロン区切りの接続プロパティを使用した標準のJDBC 接続文字列を入力します。

    Elasticsearch 接続プロパティの取得・設定方法

    接続するには、Server およびPort 接続プロパティを設定します。 認証には、User とPassword プロパティ、PKI (public key infrastructure)、またはその両方を設定します。 PKI を使用するには、SSLClientCert、SSLClientCertType、SSLClientCertSubject、およびSSLClientCertPassword プロパティを設定します。

    CData 製品は、認証とTLS/SSL 暗号化にX-Pack Security を使用しています。TLS/SSL で接続するには、Server 値に'https://' を接頭します。Note: PKI を 使用するためには、TLS/SSL およびクライアント認証はX-Pack 上で有効化されていなければなりません。

    接続されると、X-Pack では、設定したリルムをベースにユーザー認証およびロールの許可が実施されます。

    組み込みの接続文字列デザイナー

    JDBC URL の作成には、Elasticsearch JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルをダブルクリックするか、コマンドラインからjar ファイルを実行します。

    java -jar cdata.jdbc.elasticsearch.jar
    

    接続プロパティを入力し、接続文字列をクリップボードにコピーします。

    JDBC URL を設定する際に、Max Rows 接続プロパティも設定しておくことをお勧めします。これにより、返される行数が制限されるため、レポートやビジュアライゼーションを設計する際のパフォーマンス向上に役立ちます。

    JDBC URL の例を以下に示します。

        jdbc:elasticsearch:Server=127.0.0.1;Port=9200;User=admin;Password=123456;
      
  4. Connection pool attributesをクリックし、Test before getting connectionsNoに設定します。

Test connectionをクリックして、接続が正しく設定されていることを確認します。これで、Elasticsearch への接続を設定し、FineReport のデータソースとして使用できるようになります。

レポートデザイナーで Elasticsearch のデータ を選択する

  1. クリックして新しいテンプレートデータセットを追加し、DB queryを選択してデータベースクエリウィンドウを開きます。
  2. ドロップダウンリストから、作成したJDBC 接続を選択します。
  3. 左ペインにElasticsearch のエンティティがテーブルとして表示されます。
  4. ロードするElasticsearch のデータ のテーブルとカラムに対してSELECT 文を記述します。
  5. プレビューをクリックすると、データがテーブルとして表示されます。

このように簡単な手順で、FineReport で Elasticsearch をJDBC データソースとして利用できるようになります。

はじめる準備はできましたか?

Elasticsearch Driver の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

Elasticsearch Icon Elasticsearch JDBC Driver お問い合わせ

Elasticsearch 連携のパワフルなJava アプリケーションを素早く作成して配布。