Apache Solr にAct-On のデータをインポートする方法

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
CData JDBC Driver for Act-On をData Import Handler で使用して、Act-On のデータをApache Solr エンタープライズサーチプラットフォームに自動インポートできます。

Apache Solr は、Apache Lucene 上に構築された人気のある高速なオープンソースのエンタープライズサーチソリューションです。

Apache Solr には、データベースやXML、CSV、JSON ファイルからデータをインポートできるData Import Handler(DIH)が搭載されています。CData JDBC Driver for Act-On と組み合わせることで、Act-On のデータを簡単にApache Solr にインポートできます。この記事では、CData JDBC Driver をApache Solr のData Import Handler で使用し、エンタープライズサーチ用にAct-On のデータをインポートする方法をステップバイステップで解説します。

Act-On インポート用のApache Solr コアとスキーマを作成する

  1. Apache Solr を起動し、コアを作成します。
    > solr create -c CDataCore
    この記事では、Solr はローカル環境でスタンドアロンインスタンスとして実行されており、次のURL でコアにアクセスできます:http://localhost:8983/solr/#/CDataCore/core-overview
  2. インポートするAct-On のデータのカラムを表す「field」オブジェクトと、エンティティの一意キーで構成されるスキーマを作成します。Act-On にLastModifiedDate が存在する場合は、増分更新に使用されます。存在しない場合は、後述のdeltaquery を実行できません。スキーマはApache Solr が作成したmanaged-schema ファイルに保存します。
  3. 	ActOnUniqueKey
    	
    	
    	
    	
    	
    	
    	
    	
    	
  4. CData Act-On JDBC Driver をインストールします。JAR ファイルとライセンスファイル(cdata.acton.jarcdata.jdbc.acton.lic)をSolr ディレクトリにコピーします。
    • CData JDBC JAR ファイル:C:\Program Files\CData\CData JDBC Driver for Act-On ####\lib
    • Apache Solr:solr-8.5.2\server\lib

これで、Solr でAct-On のデータを使用する準備が整いました。

Act-On からApache Solr へのインポートを定義する

このセクションでは、Data Import Handler の設定手順を説明します。

  1. 作成したコアの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>
  2. 次に、同じ階層にsolr-data-config.xml を作成します。この記事ではAct-On からテーブルを取得しますが、カスタムSQL クエリを使用してデータをリクエストすることもできます。Driver クラスとサンプルJDBC 接続文字列は以下のサンプルコードにあります。
    	
    	<dataConfig>
    		<dataSource driver="cdata.jdbc.acton.ActOnDriver" url="jdbc:acton:">
    		</dataSource>
    		<document>
    			<entity name="Images"
    				query="SELECT Id,ActOnColumn1,ActOnColumn2,ActOnColumn3,ActOnColumn4,ActOnColumn5,ActOnColumn6,ActOnColumn7,LastModifiedDate FROM Images"
    				deltaQuery="SELECT Id FROM Images where LastModifiedDate >= '${dataimporter.last_index_time}'"
    				deltaImportQuery="SELECT Id,ActOnColumn1,ActOnColumn2,ActOnColumn3,ActOnColumn4,ActOnColumn5,ActOnColumn6,ActOnColumn7,LastModifiedDate FROM Images where Id=${dataimporter.delta.Id}">
    				<field column="Id" name="Id" ></field>
    				<field column="ActOnColumn1" name="ActOnColumn1" ></field>
    				<field column="ActOnColumn2" name="ActOnColumn2" ></field>
    				<field column="ActOnColumn3" name="ActOnColumn3" ></field>
    				<field column="ActOnColumn4" name="ActOnColumn4" ></field>
    				<field column="ActOnColumn5" name="ActOnColumn5" ></field>
    				<field column="ActOnColumn6" name="ActOnColumn6" ></field>
    				<field column="ActOnColumn7" name="ActOnColumn7" ></field>
    				<field column="LastModifiedDate" name="LastModifiedDate" ></field>
    			</entity>
    		</document>
    	</dataConfig>
  3. query セクションで、Act-On からデータを選択するSQL クエリを設定します。deltaQuerydeltaImportquery は、同じエンティティの2回目以降のインポートで増分更新を使用する際のID と条件を定義します。
  4. すべての設定が完了したら、Solr を再起動します。
    	> solr stop -all
    	> solr start
    	

Act-On のデータのDataImport を実行する

  1. 以下のURL からDataImport を実行します:
    http://localhost:8983/solr/#/CDataCore/dataimport//dataimport
  2. 「full-import」コマンドを選択し、Entity からテーブルを選択して、「Execute」をクリックします。
  3. Query からインポート結果を確認します。
  4. deltaQuery を使用した増分更新を試してみましょう。元のAct-On データセットのデータを変更します。DataImport ウィンドウから今度は「delta-import」コマンドを選択し、「Execute」をクリックします。
  5. 増分更新の結果を確認します。

CData JDBC Driver for Act-On を使用することで、Act-On のデータのApache Solr への自動インポートを作成できます。250+ のCData JDBC Driver の無料30日間トライアルをダウンロードして、今すぐ始めましょう。

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

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

 ダウンロード

詳細:

Act-On Icon Act-On JDBC Driver お問い合わせ

驚くほど簡単にJDBC でJava アプリケーションにAct-On マーケティングオートメーションのCampaigns、Programs、Reports データを連携!