エンタープライズサーチのNeuron にGoogle Translate のデータを取り込んで検索利用
ブレインズテクノロジー社のNeuron は、先端OSS 技術(Apache Solr)を活用したエンタープライズサーチ(企業内検索エンジン)サービスです。Apache Solr は、エンタープライズサーチ機能をAPI として提供してくれますが、Neuron はApache Solr に企業ユーザーがデータを探索するためのシンプルかつ使いやすいユーザーインターフェースと管理画面・運用機能を提供してくれます。これによりエンドユーザーが簡単にエンタープライズサーチを利用することができます。管理画面では、ファイルやデータのクローリング設定がUI で行えるようになっています。この記事では、Neuron に備わっているJDBC インターフェース経由で、CData JDBC Driver for API を利用することでNeuron にGoogle Translate のデータを取り込んで検索で利用できるようにします。
Neuron にCData JDBC Driver for API データをロード
CData JDBC Driver for API のインストールと.jar ファイルの配置
- CData JDBC Driver for API をNeuron と同じマシンにインストールします。
-
以下のパスにJDBC Driver がインストールされます。
C:\Program Files\CData\CData JDBC Driver for API 20xxJ\lib\cdata.jdbc.api.jar
-
このcdata.jdbc.api.jar とcdata.jdbc.api.lic ファイルをコピーして、Neuron のC:\APP
cf\lib フォルダに配置します。
Neuron CF でのGoogle Translate のデータを扱うリポジトリの作成
-
Neuron CF でクローラーの設定をGUI で行います。JDBC を読み取るためのリポジトリを作成します。Neuron の管理画面にログインし、[リポジトリ]→[リポジトリコレクション一覧]→[新規]をクリックします。
-
任意のリポジトリ名を入力します。タイプは[JDBC]を選択します。
-
次に、ドライバーのクラス名とJDBC 接続文字列でGoogle Translate への接続を行います。
認証
Google Cloud Translation API では、翻訳サービス、データセット、用語集、適応型 MT リソースへの安全なアクセスを確保するために、OAuth 2.0 認証が必要です。この認証方式により、Google Cloud プロジェクトに安全に接続し、適切な認可のもとで翻訳リソースを管理できます。
OAuth 2.0 のセットアップと設定
ステップ 1:Google Cloud プロジェクトの作成と API の有効化
OAuth 認証をセットアップするには、以下のステップで進めます:
- Google Cloud Console にアクセスします
- 新しいプロジェクトを作成するか、既存のプロジェクトを選択します
- Project ID を控えておきます(すべての API 呼び出しで必要です)
- 「APIs & Services」 > 「Library」に移動します
- 「Cloud Translation API」を検索して有効化します
- 「APIs & Services」 > 「Credentials」に移動します
- 「Create Credentials」をクリックし、「OAuth Client ID」を選択します
- プロンプトが表示されたら OAuth 同意画面を設定します
- 用途に応じて「Desktop application」または「Web application」を選択します
- 承認済みリダイレクト URI(CallbackURL)を設定します
- 接続で使用する Client ID と Client Secret をコピーします
必須の接続プロパティ
- AuthScheme:OAuth に設定します(必須)
- OAuthClientId:Google Cloud Console の Client ID(必須)
- OAuthClientSecret:Google Cloud Console の Client Secret(必須)
- CallbackURL:OAuth アプリケーションで指定したリダイレクト URI(必須)
- InitiateOAuth:トークンを自動管理するには GETANDREFRESH に設定します(推奨)
- ProjectId:Google Cloud のプロジェクト ID またはプロジェクト番号(クエリに必須)
必須の OAuth スコープ
Google Cloud Translation API プロファイルでは、以下の OAuth スコープが必要です:
- https://www.googleapis.com/auth/cloud-translation - 翻訳、データセット、用語集、適応型 MT を含む Cloud Translation API リソースへのフルアクセス
ドライバクラス名:cdata.jdbc.api.APIDriver
接続文字列:jdbc:api:Profile=C:\profiles\GoogleTranslate.apip;AuthScheme=OAuth;InitiateOAuth=GETANDREFRESH;OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;CallbackUrl=your_callback_url;InitiateOAuth=REFRESH
- [更新]をクリックして、Google Translate に接続するリポジトリコレクションができました。
Neuron でGoogle Translate のデータをクローリングするジョブを作成
続いて、Google Translate のどのデータをどのようにクローリングするのかをジョブで定義していきます。
-
管理画面で[ジョブ]→[ジョブ一覧]→[新規]とクリックします。
-
任意のジョブ名を入力します。出力先にはSolr を選択します。リポジトリは先ほど作成したGoogle Translate に接続するリポジトリコレクションを選びます。
-
次に基本タブからジョブ実行を手動にするか、定期実行するかを自由に設定します。
-
SQL タブでは、どんなデータを取得するのか、テーブル名やカラム、フィルタリング条件などを設定できます。CData JDBC ドライバがGoogle Translate のデータをテーブルにモデル化しているので、標準SQL でGoogle Translate をクエリすることができます。
- SQL文:SELECT LanguageCode, DisplayName FROM SupportedLanguages
- キーカラム:Id など取得テーブルのキーとなるカラム
- 検索対象カラム:検索の対象とするカラム
- タイトルカラム:検索結果のタイトルとするカラム
- タイムスタンプカラム:タイムスタンプとなるカラムがあれば、ここで指定します
- リクエストパラメータでは、検索結果レコードのURL (があれば)を設定することもできます。URL を表示できると表示された検索結果からレコードに簡単に移動できます。
- 取得元では、ラベルを設定しておきます。[更新]をクリックして、クローラージョブの設定を完了します。
Neuron でGoogle Translate のデータをクロールするジョブを実行
実際にNeuron で作成したジョブを実行します。[ジョブ]→[状態とジョブ管理]をクリックし、作成したジョブの[Start]をクリックします。
ジョブが正常完了すると、[Done]がステータスとして表示されます。
Neuron 上でのGoogle Translate のデータの検索の実施
実際にNeuron 上で検索ができるか確認してみます。取得元を絞り込むこと、内容やファイル名での検索、ファイルサイズやファイル更新日の絞り込み、部分一致や全部一致で検索が可能です。 検索をかけてみると、以下のようにデータを取得できました。
CData JDBC Driver for API をNeuron で使うことで、Google Translate コネクタとして機能し、簡単にデータを取得して同期することができました。ぜひ、30日の無償評価版をお試しください。