Norconex HTTP Collector インデクサ プラグインをデプロイする

このガイドは、Google Cloud Search Norconex HTTP Collector インデクサ プラグインの管理者、つまり、インデクサ プラグインのダウンロード、デプロイ、構成、保守を担当するユーザーを対象としています。また、読者が Linux オペレーティング システムに精通し、ウェブクロール、XML、Norconex HTTP Collector の基礎知識があることを前提としています。

このガイドでは、インデクサ プラグインのデプロイに関連する主要なタスクの実施手順について説明します。

  • インデクサ プラグイン ソフトウェアをダウンロードする
  • Google Cloud Search を構成する
  • Norconex HTTP Collector とウェブクロールを構成する
  • ウェブクロールを開始してコンテンツをアップロードする

Google Workspace 管理者が Google Cloud Search を Norconex HTTP Collector インデクサ プラグインにマッピングするために行う必要があるタスクについては、このガイドでは説明しません。これらのタスクについては、サードパーティのデータソースを管理するをご覧ください。

Cloud Search Norconex HTTP Collector インデクサ プラグインの概要

デフォルトでは、Cloud Search は Google ドキュメントや Gmail などの Google Workspace プロダクトからコンテンツを検出し、インデックスに登録して提供できます。オープンソースのエンタープライズ ウェブクローラである Norconex HTTP Collector のインデクサ プラグインをデプロイすると、Google Cloud Search の範囲を拡張して、ユーザーにウェブ コンテンツを提供することもできます。

構成プロパティ ファイル

インデクサ プラグインがウェブクロールを行って、インデックス API にコンテンツをアップロードできるようにするために、インデクサ プラグイン管理者は、このドキュメントのデプロイ手順に記載されている構成手順の中で具体的な情報を指定します。

インデクサ プラグインを使用するには、次の 2 つの構成ファイルでプロパティを設定する必要があります。

  • {gcs-crawl-config.xml}-- Norconex HTTP Collector の設定が含まれます。
  • sdk-configuration.properties-- Google Cloud Search の設定が含まれています。

各ファイルのプロパティにより、Google Cloud Search インデクサ プラグインと Norconex HTTP Collector が相互に通信できるようになります。

ウェブクロールとコンテンツのアップロード

構成ファイルを設定すると、ウェブクロールを開始するために必要な設定がそろいます。Norconex HTTP Collector によってウェブがクロールされ、その構成に関連するドキュメント コンテンツが検出されます。また、元のバイナリ(またはテキスト)バージョンのドキュメント コンテンツが Cloud Search インデックス API にアップロードされ、インデックスに登録されて、最終的にユーザーに提供されます。

サポートされているオペレーティング システム

Google Cloud Search Norconex HTTP Collector インデクサ プラグインは、Linux にインストールする必要があります。

サポートされている Norconex HTTP Collector のバージョン

Google Cloud Search Norconex HTTP Collector インデクサ プラグインは、バージョン 2.8.0 をサポートしています。

ACL のサポート

インデクサ プラグインは、アクセス制御リスト(ACL)を使用した Google Workspace ドメイン内のドキュメントへのアクセスの制御をサポートしています。

Google Cloud Search プラグインの構成でデフォルトの ACL が有効になっている場合(defaultAcl.modenone 以外に設定され、defaultAcl.* で構成されている場合)、インデクサ プラグインはまず、デフォルトの ACL を作成して適用しようとします。

デフォルトの ACL が有効になっていない場合、プラグインはフォールバックして、Google Workspace ドメイン全体に読み取り権限を付与します。

ACL 構成パラメータの詳細な説明については、Google 提供のコネクタ パラメータをご覧ください。

前提条件

インデクサ プラグインをデプロイする前に、次の要件を満たしていることを確認してください。

  • インデクサ プラグインを実行するコンピュータに Java JRE 1.8 がインストールされている
  • Cloud Search と Norconex HTTP Collector の関係を確立するために必要な Google Workspace の情報:

    通常、これらの認証情報はドメインの Google Workspace 管理者から提供されます。

デプロイ手順

インデクサ プラグインをデプロイする手順は、次のとおりです。

  1. Norconex HTTP Collector とインデクサ プラグイン ソフトウェアをインストールする
  2. Google Cloud Search を構成する
  3. Norconex HTTP Collector を構成する
  4. ウェブクロールを設定する
  5. ウェブクロールとコンテンツのアップロードを開始する

ステップ 1: Norconex HTTP Collector とインデクサ プラグイン ソフトウェアをインストールする

  1. こちらのページから Norconex コミッター ソフトウェアをダウンロードします。
  2. ダウンロードしたソフトウェアを ~/norconex/ フォルダに解凍します。
  3. GitHub からコミッター プラグインのクローンを作成します。git clone https://github.com/google-cloudsearch/norconex-committer-plugin.git、さらに cd norconex-committer-plugin
  4. 目的のコミッター プラグインのバージョンを確認し、ZIP ファイル(git checkout tags/v1-0.0.3mvn package)をビルドします(コネクタのビルド時にテストをスキップするには、mvn package -DskipTests を使用します)。
  5. cd target
  6. ビルドされたプラグイン jar ファイルを Norconex lib ディレクトリにコピーします。 cp google-cloudsearch-norconex-committer-plugin-v1-0.0.3.jar ~/norconex/norconex-collector-http-{version}/lib
  7. ビルドした ZIP ファイルを解凍して、ファイルを展開します。unzip google-cloudsearch-norconex-committer-plugin-v1-0.0.3.zip
  8. インストール スクリプトを実行して、プラグインの .jar とすべての必要なライブラリを http コレクタのディレクトリにコピーします。
    1. 上で解凍した抽出済みコミッター プラグインに変更します。cd google-cloudsearch-norconex-committer-plugin-v1-0.0.3
    2. $ sh install.sh を実行します。プロンプトが表示されたら、ターゲット ディレクトリとして norconex/norconex-collector-http-{version}/lib へのフルパスを指定します。
    3. 重複する jar ファイルが見つかった場合は、オプション 1 を選択します(ターゲット Jar の名前を変更した後に、ターゲット Jar と同じかそれ以上のバージョンがある場合にのみソース Jar をコピーしてください)。

ステップ 2: Google Cloud Search を構成する

インデクサ コネクタが Norconex HTTP Collector に接続し、関連コンテンツをインデックスに登録できるようにするには、Norconex HTTP Collector がインストールされている Norconex ディレクトリに Cloud Search 構成ファイルを作成する必要があります。Cloud Search 構成ファイルには sdk-configuration.properties という名前を付けることをおすすめします。

この構成ファイルには、パラメータを定義する Key-Value ペアが含まれている必要があります。構成ファイルでは、Cloud Search データソースにアクセスするために必要な次のパラメータを少なくとも指定する必要があります。

設定 パラメータ
データソースの ID api.sourceId = 1234567890abcdef
必須。Google Workspace 管理者がセットアップした Cloud Search ソース ID。
サービス アカウント api.serviceAccountPrivateKeyFile = ./PrivateKey.json
必須。インデクサ プラグインにアクセスできるように Google Workspace 管理者が作成した Cloud Search サービス アカウント キー ファイル。

次の例は、sdk-configuration.properties ファイルを示しています。

#
# data source access
api.sourceId=1234567890abcdef
api.serviceAccountPrivateKeyFile=./PrivateKey.json
#

構成ファイルには、Google 提供の構成パラメータを含めることもできます。これらのパラメータは、このプラグインが Google Cloud Search API にデータを push する方法に影響を与える可能性があります。たとえば、パラメータの batch.* セットは、コネクタがリクエストを結合する方法を指定します。

構成ファイルでパラメータを定義しない場合は、デフォルト値(使用可能な場合)が使用されます。各パラメータの詳細については、Google 提供のコネクタ パラメータをご覧ください。

インデクサ プラグインは、インデックス登録するコンテンツのメタデータや構造化データが入力されるように構成できます。メタデータや構造化データの項目に入力される値は、インデックス登録する HTML コンテンツのメタタグから抽出することも、構成ファイルでデフォルト値を指定することもできます。

設定 パラメータ
タイトル itemMetadata.title.field=movieTitle
itemMetadata.title.defaultValue=Gone with the Wind
デフォルトでは、プラグインはインデックス登録するドキュメントのタイトルとして HTML title を使用します。タイトルがない場合は、ドキュメント タイトルに対応する値を含むメタデータ属性を参照するか、デフォルト値を設定できます。
作成タイムスタンプ itemMetadata.createTime.field=releaseDate
itemMetadata.createTime.defaultValue=1940-01-17
ドキュメント作成タイムスタンプの値を含むメタデータ属性。
最終更新時刻 itemMetadata.updateTime.field=releaseDate
itemMetadata.updateTime.defaultValue=1940-01-17
ドキュメントの最終変更タイムスタンプの値を含むメタデータ属性。
ドキュメント言語 itemMetadata.contentLanguage.field=languageCode
itemMetadata.contentLanguage.defaultValue=en-US
インデックス登録されるドキュメントのコンテンツ言語。
スキーマ オブジェクト タイプ itemMetadata.objectType=movie
サイトで使用されるオブジェクト タイプ( データソース スキーマ オブジェクト定義で定義されている)。このプロパティを指定しなかった場合、コネクタは構造化データをインデックスに登録しません。

: この構成プロパティは、メタデータ属性ではなく値を指します。.field.defaultValue の接尾辞はサポートされません。

日時書式

日時形式は、メタデータ属性で想定される形式を指定します。構成ファイルにこのパラメータが含まれていない場合は、デフォルト値が使用されます。次の表に、このパラメータを示します。

設定

パラメータ

追加の日時パターン

structuredData.dateTimePatterns=MM/dd/uuuu HH:mm:ssXXX

追加の java.time.format.DateTimeFormatter パターンのセミコロン区切りのリスト。これらのパターンは、メタデータまたはスキーマ内の日付や日時の項目の文字列値を解析するときに使用されます。デフォルト値は空のリストですが、RFC 3339 と RFC 1123 の書式は常にサポートされています。

ステップ 3: Norconex HTTP Collector を構成する

zip アーカイブ norconex-committer-google-cloud-search-{version}.zip には、サンプル構成ファイル minimum-config.xml が含まれています。

サンプル ファイルをコピーして構成を開始することをおすすめします。

  1. Norconex HTTP Collector ディレクトリに移動します。
    $ cd ~/norconex/norconex-collector-http-{version}/
  2. 構成ファイルをコピーします。
    $ cp examples/minimum/minimum-config.xml gcs-crawl-config.xml
  3. 新しく作成したファイル(この例では gcs-crawl-config.xml)を編集し、次の表の説明に従って既存の <committer> ノードと <tagger> ノードを追加または置き換えます。
設定 パラメータ
<committer> node <committer class="com.norconex.committer.googlecloudsearch. GoogleCloudSearchCommitter">

必須。プラグインを有効にするには、ルート <httpcollector> ノードの子として <committer> ノードを追加する必要があります。
<UploadFormat> <uploadFormat>raw</uploadFormat>
省略可。インデクサ プラグインがドキュメント コンテンツを Google Cloud Search インデクサ API に push する形式。有効な値は次のとおりです。
  • raw: インデクサ プラグインは、変換されていない元のドキュメント コンテンツを push します。
  • text: インデクサ プラグインは、抽出されたテキスト コンテンツを push します。

デフォルト値は raw です。
BinaryContent Tagger <tagger> node <tagger class="com.norconex.committer.googlecloudsearch.BinaryContentTagger"/>
<UploadFormat> の値が raw の場合は必須です。この場合、インデクサ プラグインでは、ドキュメントのバイナリ コンテンツ フィールドが使用可能である必要があります。

BinaryContentTagger <tagger> ノードを <importer> / <preParseHandlers> ノードの子要素として追加する必要があります。

次の例は、gcs-crawl-config.xml に必要な変更を示しています。

<committer class="com.norconex.committer.googlecloudsearch.GoogleCloudSearchCommitter">
    <configFilePath>/full/path/to/gcs-sdk-config.properties</configFilePath>
    
    <uploadFormat>raw</uploadFormat>
</committer>
<importer>
  <preParseHandlers>
    <tagger class="com.norconex.committer.googlecloudsearch.BinaryContentTagger"/>
  </preParseHandlers>
</importer>

ステップ 4: ウェブクロールを構成する

ウェブクロールを開始する前に、組織が検索結果で使用できるようにする情報のみが含まれるようにクロールを構成する必要があります。ウェブクロールの最も重要な設定は <crawler> ノードの一部であり、以下を含めることができます。

  • 開始 URL
  • クロールの最大深度
  • スレッド数

必要に応じて、これらの構成値を変更します。ウェブクロールの設定および使用可能なすべての構成パラメータについて詳しくは、HTTP Collector の Configuration ページをご覧ください。

ステップ 5: ウェブクロールとコンテンツのアップロードを開始する

インデクサ プラグインをインストールして設定したら、ローカルモードで独自に実行できます。

次の例は、必要なコンポーネントが Linux システムのローカル ディレクトリにあることを前提としています。次のコマンドを実行します。

$ ./collector-http[.bat|.sh] -a start -c gcs-crawl-config.xml

JEF Monitor でクローラをモニタリングする

Norconex JEF(Job Execution Framework)Monitor は、Norconex Web Crawler(HTTP Collector)プロセスおよびジョブの進行状況をモニタリングするためのグラフィカルなツールです。このユーティリティの設定方法に関する詳しいチュートリアルについては、Monitor Your Crawler's Progress with JEF Monitor をご覧ください。