DataGrip で Elasticsearch のデータ をクエリ
DataGrip は、SQL 開発者がデータベースへのクエリ、作成、管理を行えるデータベース IDE です。CData JDBC Driver for Elasticsearch と組み合わせることで、DataGrip からリアルタイムElasticsearch のデータを操作できます。この記事では、DataGrip で Elasticsearch のデータ への接続を確立し、テーブルエディタを使用して 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 用の新しいドライバー定義を作成
以下のステップでは、DataGrip で Elasticsearch 用の新しいデータソースを作成する方法を説明します。
- DataGrip で、File -> New -> Project をクリックしてプロジェクト名を入力します。
- Database Explorer で、プラスアイコン()をクリックして Driver を選択します。
- Driver タブで以下を設定します。
- Name をわかりやすい名前に設定します(例:"CData Elasticsearch Driver")。
- Driver Files を適切な JAR ファイルに設定します。ファイルを追加するには、プラス()をクリックし、「Add Files」を選択して、ドライバーのインストールディレクトリ内の「lib」フォルダに移動し、JAR ファイル(例:cdata.jdbc.elasticsearch.jar)を選択します。
- Class を cdata.jdbc.elasticsearch.Elasticsearch.jar に設定します。
また、詳細タブでは、ドライバーのプロパティや、VM Options、VM environment、VM home path、DBMS などの設定を変更できます。 - ほとんどの場合、Expert options で DBMS type を「Unknown」に変更して、ネイティブの SQL Server クエリ(Transact-SQL)を回避してください。これを行わないと、無効な関数エラーが発生する可能性があります。
- 「Apply」をクリックし、「OK」をクリックして接続を保存します。
Elasticsearch への接続を設定
- 接続を保存したら、プラス()をクリックし、「Data Source」→「CData Elasticsearch Driver」を選択して、新しい Elasticsearch データソースを作成します。
- 新しいウィンドウで、JDBC URL を使用して Elasticsearch への接続を設定します。
組み込みの接続文字列デザイナー
JDBC URL の構築には、Elasticsearch JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルをダブルクリックするか、コマンドラインから JAR ファイルを実行します。
java -jar cdata.jdbc.elasticsearch.jar接続プロパティを入力し、接続文字列をクリップボードにコピーします。
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 では、設定したリルムをベースにユーザー認証およびロールの許可が実施されます。
- URL を接続文字列に設定します。例:
jdbc:elasticsearch:Server=127.0.0.1;Port=9200;User=admin;Password=123456;
- 「Apply」と「OK」をクリックして接続文字列を保存します。
これで、Data Explorer にデータソースが表示されます。
Elasticsearch に対して SQL クエリを実行
JDBC Driver を介してアクセス可能な Elasticsearch のエンティティ(テーブルとして利用可能)を参照するには、データソースを展開します。
クエリを実行するには、任意のテーブルを右クリックして「New」→「Query Console」を選択します。
Console で、実行したい SQL クエリを記述します。例:
SELECT Orders.Freight, Customers.ContactName FROM Customers INNER JOIN Orders ON Customers.CustomerId=Orders.CustomerId
CData JDBC Driver for Elasticsearch の30日間の無料トライアルをダウンロードして、DataGrip でリアルタイムElasticsearch のデータを操作してみてください。ご不明な点があれば、サポートチームにお問い合わせください。