エンタープライズサーチのNeuron にAccess のデータを取り込んで検索利用

杉本和也
杉本和也
リードエンジニア
企業内検索エンジンサービスの Neuron にAccess のデータを取り込んで検索する方法:CData JDBC Driver。



ブレインズテクノロジー社のNeuron は、先端OSS 技術(Apache Solr)を活用したエンタープライズサーチ(企業内検索エンジン)サービスです。Apache Solr は、エンタープライズサーチ機能をAPI として提供してくれますが、Neuron はApache Solr に企業ユーザーがデータを探索するためのシンプルかつ使いやすいユーザーインターフェースと管理画面・運用機能を提供してくれます。これによりエンドユーザーが簡単にエンタープライズサーチを利用することができます。管理画面では、ファイルやデータのクローリング設定がUI で行えるようになっています。この記事では、Neuron に備わっているJDBC インターフェース経由で、CData JDBC Driver for Access を利用することでNeuron にAccess のデータを取り込んで検索で利用できるようにします。

Neuron にCData JDBC Driver for Access データをロード

CData JDBC Driver for Access のインストールと.jar ファイルの配置

  • CData JDBC Driver for Access をNeuron と同じマシンにインストールします。
  • 以下のパスにJDBC Driver がインストールされます。
    C:\Program Files\CData\CData JDBC Driver for Access 20xxJ\lib\cdata.jdbc.access.jar
  • このcdata.jdbc.access.jar とcdata.jdbc.access.lic ファイルをコピーして、Neuron のC:\APP cf\lib フォルダに配置します。

Neuron CF でのAccess のデータを扱うリポジトリの作成

  • Neuron CF でクローラーの設定をGUI で行います。JDBC を読み取るためのリポジトリを作成します。Neuron の管理画面にログインし、[リポジトリ]→[リポジトリコレクション一覧]→[新規]をクリックします。
  • 任意のリポジトリ名を入力します。タイプは[JDBC]を選択します。
  • 次に、ドライバーのクラス名とJDBC 接続文字列でAccess への接続を行います。

    Access接続の設定方法

    ローカルファイルへの接続設定

    ローカル環境からAccess への接続は非常にシンプルです。ConnectionTypeLocal に設定することで、CRUD 操作(SELECT、INSERT、UPDATE、DELETE)をすべて実行できます。接続にはDataSource プロパティに以下のようなAcces sデータベースファイルのフルパスを指定します。

    C:\Users\Public\Documents\MyDatabase.accdb

    詳細な接続手順については、ヘルプドキュメントの「はじめに」セクションをご参照ください。

    クラウドストレージ上のAccess ファイルへの接続設定

    各種クラウドストレージに保存されているAccess ファイルへのアクセスにも対応しています。ただし、クラウド上のファイルに対するデータ操作は、INSERT、UPDATE、DELETE に制限されますのでご注意ください。

    S3、Google Driver、OneDrive など、各種クラウドストレージ内のAccess ファイルへの接続方法はこちらの記事をご確認ください。

    クラウド上のファイルを更新したい場合は、以下の手順で実施いただけます。

    1. 対応するCData ドライバーを利用し、クラウドサービスからAccess ファイルをダウンロード
    2. Access ドライバーを使用して、ローカル環境でファイルを編集
    3. クラウドサービス用ドライバーのストアドプロシージャを使用して、更新ファイルをアップロード

    具体例として、SharePoint 上のファイルを更新する場合の手順をご紹介します。

    1. CData SharePoint ドライバーのDownloadDocument プロシージャを使用してファイルを取得
    2. CData Access ドライバーでファイルの更新を実施
    3. SharePoint ドライバーのUploadDocument プロシージャで更新内容を反映

    DataSource 接続プロパティの設定について補足いたします。接続先のクラウドストレージを識別するための一意の接頭辞を指定し、続けて目的のファイルパスまたはフォルダパスを記述します。フォルダを指定した場合は1ファイルが1テーブルとして、単一ファイルの場合は単一テーブルとして扱われます。


    ドライバクラス名:cdata.jdbc.access.AccessDriver
    接続文字列:jdbc:access:DataSource=C:/MyDB.accdb;
  • [更新]をクリックして、Access に接続するリポジトリコレクションができました。

Neuron でAccess のデータをクローリングするジョブを作成

続いて、Access のどのデータをどのようにクローリングするのかをジョブで定義していきます。

  • 管理画面で[ジョブ]→[ジョブ一覧]→[新規]とクリックします。
  • 任意のジョブ名を入力します。出力先にはSolr を選択します。リポジトリは先ほど作成したAccess に接続するリポジトリコレクションを選びます。
  • 次に基本タブからジョブ実行を手動にするか、定期実行するかを自由に設定します。
  • SQL タブでは、どんなデータを取得するのか、テーブル名やカラム、フィルタリング条件などを設定できます。CData JDBC ドライバがAccess のデータをテーブルにモデル化しているので、標準SQL でAccess をクエリすることができます。
    • SQL文:SELECT OrderName, Freight FROM Orders
    • キーカラム:Id など取得テーブルのキーとなるカラム
    • 検索対象カラム:検索の対象とするカラム
    • タイトルカラム:検索結果のタイトルとするカラム
    • タイムスタンプカラム:タイムスタンプとなるカラムがあれば、ここで指定します
  • リクエストパラメータでは、検索結果レコードのURL (があれば)を設定することもできます。URL を表示できると表示された検索結果からレコードに簡単に移動できます。
  • 取得元では、ラベルを設定しておきます。[更新]をクリックして、クローラージョブの設定を完了します。

Neuron でAccess のデータをクロールするジョブを実行

実際にNeuron で作成したジョブを実行します。[ジョブ]→[状態とジョブ管理]をクリックし、作成したジョブの[Start]をクリックします。

ジョブが正常完了すると、[Done]がステータスとして表示されます。

Neuron 上でのAccess のデータの検索の実施

実際にNeuron 上で検索ができるか確認してみます。取得元を絞り込むこと、内容やファイル名での検索、ファイルサイズやファイル更新日の絞り込み、部分一致や全部一致で検索が可能です。 検索をかけてみると、以下のようにデータを取得できました。

CData JDBC Driver for Access をNeuron で使うことで、Access コネクタとして機能し、簡単にデータを取得して同期することができました。ぜひ、30日の無償評価版をお試しください。

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

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

 ダウンロード

詳細:

Access Icon Access JDBC Driver お問い合わせ

Microsoft Access データベースに連携するJava アプリケーションを高速開発。