PHP からElasticsearch にデータ連携。

詳細情報をご希望ですか?

無償トライアル:

ダウンロードへ

製品の詳細情報へ:

Elasticsearch ODBC Driver

Elasticsearch ODBC Driver は、ODBC 接続をサポートするさまざまなアプリケーションからElasticsearch ドキュメントデータベースへの接続を実現するパワフルなツールです。

RDB にアクセスするときと同感覚でElasticsearch にアクセスし、標準ODBC Driver インターフェースを通じて読み出し、書き込み、更新が可能に。



CData ODBC driver for Elasticsearch を使って、PHP アプリケーションからElasticsearch にデータ連携。PHP でのODBC ネイティブサポートを活用。

CData ODBC Driver for Elasticsearch は、PHP アプリケーションからのElasticsearch データへの連携を可能にします。本記事では、Elasticsearch データをPHP のビルトインODBC 機能でクエリを実行する手順を説明します。

DSN の設定

Elasticsearch に接続するDSN を作成します。

一般的な接続文字列:

Server=127.0.0.1;Port=9200;User=admin;Password=123456;

ビルトインのデータソースアドミニストレーターでDSN 設定をします。ドライバーのインストールの最後にアドミニストレーターが開きます。ヘルプの「はじめに」でODBC データソースアドミニストレータでElasticsearch に接続するDSN の設定方法を参照してください。

Elasticsearch への接続の確立

odbc_connect を呼び出して、Elasticsearch への接続を開きます。 odbc_pconnect メソッドでも可能です。コネクションを閉じるには、odbc_close もしくはodbc_close_all を使います。

$conn = odbc_connect("CData ODBC Elasticsearch Source","user","password");

コネクションはodbc_connect で開かれ、スクリプトが終わると終了します。odbc_pconnect メソッドで開いたコネクションは、スクリプトが終わっても開いたままです。これにより同じクレデンシャルであれば他のスクリプトでコネクションを共有することが可能です:

$conn = odbc_pconnect("CData ODBC Elasticsearch Source","user","password"); ... odbc_close($conn); //persistent connection must be closed explicitly

エレメントの作成

odbc_prepare を使って、Prepared ステートメントおよびパラメータライズドクエリを作成します。

$query = odbc_prepare($conn, "SELECT * FROM Orders WHERE ShipCity = ?");

クエリの実行

Prepared ステートメントをodbc_execute を使って実行します。

$conn = odbc_connect("CData ODBC Elasticsearch Source","user","password"); $query = odbc_prepare($conn, "SELECT * FROM Orders WHERE ShipCity = ?"); $success = odbc_execute($query, array('New York'));

Non-Parameterized クエリは、odbc_exec を使います。

$conn = odbc_connect("CData ODBC Elasticsearch Source","user","password"); $query = odbc_exec($conn, "SELECT * FROM Orders");

結果の処理

odbc_fetch_array ファンクションの結果セット配列としてアクセスします。

$conn = odbc_connect("CData ODBC Elasticsearch data Source","user","password"); $query = odbc_exec($conn, "SELECT * FROM Orders"); while($row = odbc_fetch_array($query)){ echo $row["OrderName"] . "\n"; }

odbc_result_all ファンクションで、結果セットをHTML テーブルとして表示します。

$conn = odbc_connect("CData ODBC Elasticsearch data Source","user","password"); $query = odbc_prepare($conn, "SELECT * FROM Orders WHERE ShipCity = ?"); $success = odbc_execute($query, array('New York')); if($success) odbc_result_all($query);

サンプルクエリのテスト

スタンドアロンのテスト環境をたちあげる簡単な方法はPHP のビルトインテストサーバーを使うことです。手順はこちらです:

  1. PHP の最新版のバイナリのダウンロード。

  2. フォルダにファイルを入れる。

  3. フォルダを開く。

  4. php.ini-development をphp.ini に変更。

  5. ブラウザからテストスクリプトにアクセスするためのコマンドを実行。

    php -S localhost:8000 -t C:\path-to-your-scripts -c C:\path-to-php\php.ini

他のサンプルクエリ

サポートされているSQL の詳細は、ヘルプドキュメントを参照してください。上のサンプルは、PHP community documentation for all ODBC functions のElasticsearch に特化したものです。