CData JDBC Driver for e-Sales Manager を使って、全文検索エンジンのApache Solr にe-Sales Manager データをカンタンに取り込み。
Apache Solr https://lucene.apache.org/solr/は Apache ソフトウェア財団のLucene プロジェクトのサブプロジェクトとして開発されているオープンソースの全文検索エンジンです。
API・データストアや各種データを取り込むためのデータインポート(Data Import Handler)を備えているので、手軽に独自アプリケーションに検索エンジンを組み込むことができるようになっています。通常 Apache Solr はXML・CSV・JSON といったフォーマットやPDF、Word、HTML などのファイル、もしくはJDBC 経由でのRDB 接続で取得したデータのみが取り込み対象ですが、Apache Solr のJDBC のインターフェースにCData JDBC Drivers を用いることで、各API の仕様を意識せず DataImport を実行でき、Apache Solr のエンジンでe-Sales Manager データを検索することができるようになります。
今回は Apache Solr が提供するデータインポート機能、Data Import Handler を使って、e-Sales Manager データを取り込み、Apache Solr で検索が実施できるようにするための手順を紹介します。
※製品について詳しい情報をご希望の方は以下からお進みください。
- e-Sales Manager にほかのBI、ETL、開発ツールから接続したい:e-Sales Manager データ連携ガイドおよびチュートリアルのリストへ
- e-Sales Manager Drivers について詳細を知りたい:ドライバー詳細情報ページへ
- ほかのデータソースに連携したい:CData Drivers 一覧へ
- ドライバーの30日の無償トライアル版を使いたい:トライアル版ダウンロードページへ
- 製品の利用やライセンスについて相談したい:sales@cdata.co.jp までメールにてご相談ください。
Apache Solr へのe-Sales Manager データのコアとスキーマを作成
- Apache Solr を起動します。なお、今回は検証用途のためスタンドアロンで構成しています。
- そして検証用となるコアを一つ追加しました。
- 以下のURLで作成したCoreにアクセスできます。http://localhost:8983/solr/#/CDataCore/core-overview
- 続いて取り込み先となるスキーマを定義しておきます。今回はe-Sales Manager のいくつかの項目と合わせて、以下のフィールドを追加しました。LastModifiedDate がe-Sales Manager にあれば、差分更新が可能です。該当するカラムがない場合には、後で出てくるdeltaQuery セクションは飛ばしてください。
> solr create -c CDataCore

- CData JDBC: C:\Program Files\CData\CData JDBC Driver for ESalesManager 2019J\lib
- Apache Solr: solr-8.5.2\server\lib
これでドライバーの配置などの準備は完了です。
Apache Solr の Data Import Handler (DIH) にe-Sales Manager のインポート定義を設定
それではデータ処理を担う機能であるDIH(DataImport Handler)の定義を追加しましょう。
- まず作成したCore に含まれるConfig ファイを編集します。 DIH 実行に必要なjar ファイルの参照を追加し、DIH のRequestHandler 定義を追加します。 DIH の設定ファイルは「solr-data-config.xml」としました。
solr-data-config.xml
> solr stop -all
> solr start
e-Sales Manager データのDataImport の実行
再起動後、以下のURL からDataImport を実行できます。
http://localhost:8983/solr/#/CDataCore/dataimport//dataimport

まず「full-import」、Entity から「テーブル名」を選択して、「Execute」してみます。

登録された結果を「Query」画面から見てみると、各スキーマにデータが取り込まれていることが確認できました。

次に差分更新であるDeltaQuery も試してみましょう。e-Sales Manager 側のデータを書き換えてください。DataImport の画面から今度は「Delta-Import」を選択して、Execute を押してみます。

正常に取り込みが完了すると、以下のようにレコードが更新されていることが確認できました。

まとめ
このようにCData JDBC Driver とSolr Data Import Handler を一緒に使うことで、簡単にSolr でe-Sales Manager データをノーコードで連携し、全権検索に使うことが可能です。
是非、CData JDBC Driver for e-Sales Manager 30日の無償試用版 をダウンロードして、お試しください。