Apache Solr にBusiness b-ridge のデータをインポートする方法
Apache Solr は、Apache Lucene 上に構築された人気のある高速なオープンソースのエンタープライズサーチソリューションです。
Apache Solr には、データベースやXML、CSV、JSON ファイルからデータをインポートできるData Import Handler(DIH)が搭載されています。CData JDBC Driver for Business b-ridge と組み合わせることで、Business b-ridge のデータを簡単にApache Solr にインポートできます。この記事では、CData JDBC Driver をApache Solr のData Import Handler で使用し、エンタープライズサーチ用にBusiness b-ridge のデータをインポートする方法をステップバイステップで解説します。
Business b-ridge インポート用のApache Solr コアとスキーマを作成する
- Apache Solr を起動し、コアを作成します。
> solr create -c CDataCore
この記事では、Solr はローカル環境でスタンドアロンインスタンスとして実行されており、次のURL でコアにアクセスできます:http://localhost:8983/solr/#/CDataCore/core-overview - インポートするBusiness b-ridge のデータのカラムを表す「field」オブジェクトと、エンティティの一意キーで構成されるスキーマを作成します。Business b-ridge にLastModifiedDate が存在する場合は、増分更新に使用されます。存在しない場合は、後述のdeltaquery を実行できません。スキーマはApache Solr が作成したmanaged-schema ファイルに保存します。
- CData Business b-ridge JDBC Driver をインストールします。JAR ファイルとライセンスファイル(cdata.businessbridge.jar とcdata.jdbc.businessbridge.lic)をSolr ディレクトリにコピーします。
- CData JDBC JAR ファイル:C:\Program Files\CData\CData JDBC Driver for Business b-ridge ####\lib
- Apache Solr:solr-8.5.2\server\lib
BusinessBridgeUniqueKey
これで、Solr でBusiness b-ridge のデータを使用する準備が整いました。
Business b-ridge からApache Solr へのインポートを定義する
このセクションでは、Data Import Handler の設定手順を説明します。
- 作成したコアのConfig ファイルを編集します。JAR ファイルの参照を追加し、DIH RequestHandler の定義を追加します。
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-.*\.jar" /> <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lst name="defaults"> <str name="config">solr-data-config.xml</str> </lst> </requestHandler> - 次に、同じ階層にsolr-data-config.xml を作成します。この記事ではBusiness b-ridge からテーブルを取得しますが、カスタムSQL クエリを使用してデータをリクエストすることもできます。Driver クラスとサンプルJDBC 接続文字列は以下のサンプルコードにあります。
<dataConfig> <dataSource driver="cdata.jdbc.businessbridge.BusinessBridgeDriver" url="jdbc:businessbridge:"> </dataSource> <document> <entity name="CDATA" query="SELECT Id,BusinessBridgeColumn1,BusinessBridgeColumn2,BusinessBridgeColumn3,BusinessBridgeColumn4,BusinessBridgeColumn5,BusinessBridgeColumn6,BusinessBridgeColumn7,LastModifiedDate FROM CDATA" deltaQuery="SELECT Id FROM CDATA where LastModifiedDate >= '${dataimporter.last_index_time}'" deltaImportQuery="SELECT Id,BusinessBridgeColumn1,BusinessBridgeColumn2,BusinessBridgeColumn3,BusinessBridgeColumn4,BusinessBridgeColumn5,BusinessBridgeColumn6,BusinessBridgeColumn7,LastModifiedDate FROM CDATA where Id=${dataimporter.delta.Id}"> <field column="Id" name="Id" ></field> <field column="BusinessBridgeColumn1" name="BusinessBridgeColumn1" ></field> <field column="BusinessBridgeColumn2" name="BusinessBridgeColumn2" ></field> <field column="BusinessBridgeColumn3" name="BusinessBridgeColumn3" ></field> <field column="BusinessBridgeColumn4" name="BusinessBridgeColumn4" ></field> <field column="BusinessBridgeColumn5" name="BusinessBridgeColumn5" ></field> <field column="BusinessBridgeColumn6" name="BusinessBridgeColumn6" ></field> <field column="BusinessBridgeColumn7" name="BusinessBridgeColumn7" ></field> <field column="LastModifiedDate" name="LastModifiedDate" ></field> </entity> </document> </dataConfig> - query セクションで、Business b-ridge からデータを選択するSQL クエリを設定します。deltaQuery とdeltaImportquery は、同じエンティティの2回目以降のインポートで増分更新を使用する際のID と条件を定義します。
- すべての設定が完了したら、Solr を再起動します。
> solr stop -all > solr start
Business b-ridge のデータのDataImport を実行する
- 以下のURL からDataImport を実行します:
http://localhost:8983/solr/#/CDataCore/dataimport//dataimport
- 「full-import」コマンドを選択し、Entity からテーブルを選択して、「Execute」をクリックします。
- Query からインポート結果を確認します。
- deltaQuery を使用した増分更新を試してみましょう。元のBusiness b-ridge データセットのデータを変更します。DataImport ウィンドウから今度は「delta-import」コマンドを選択し、「Execute」をクリックします。
- 増分更新の結果を確認します。
CData JDBC Driver for Business b-ridge を使用することで、Business b-ridge のデータのApache Solr への自動インポートを作成できます。250+ のCData JDBC Driver の無料30日間トライアルをダウンロードして、今すぐ始めましょう。