このガイドは、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 プロダクト。「新規顧客の獲得」目標を Google Cloud Search のリーチ拡大により、ウェブ コンテンツの配信、 インデクサ プラグインのデプロイを Norconex HTTP Collector オープンソース エンタープライズ ウェブ クローラーです。
構成プロパティ ファイル
インデクサ プラグインがウェブクロールを行って、インデックス 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.mode
が none
以外に設定され、defaultAcl.*
で構成されている)
インデクサ プラグインは、まずデフォルトの ACL を作成して適用しようとします。
デフォルトの ACL が有効になっていない場合、プラグインはフォールバックして読み取り権限を付与します Google Workspace ドメイン全体に提供します。
ACL 構成パラメータの詳細な説明については、Google 提供のコネクタ パラメータをご覧ください。
前提条件
インデクサ プラグインをデプロイする前に、次の要件を満たしていることを確認してください。
- インデクサ プラグインを実行するコンピュータに Java JRE 1.8 がインストールされている
組織間の関係を確立するために必要な Google Workspace の情報 Cloud Search と Norconex HTTP Collector:
- Google Workspace の秘密鍵 (サービス アカウント ID を含む)
- Google Workspace データソース ID
通常、ドメインの Google Workspace 管理者は、これらの情報を 提供します。
デプロイ手順
インデクサ プラグインをデプロイする手順は、次のとおりです。
- Norconex HTTP Collector とインデクサ プラグイン ソフトウェアをインストールする
- Google Cloud Search を構成する
- Norconex HTTP Collector を構成する
- ウェブクロールを構成する
- ウェブクロールとコンテンツのアップロードを開始する
ステップ 1: Norconex HTTP Collector とインデクサ プラグイン ソフトウェアをインストールする
- こちらのページから Norconex コミッター ソフトウェアをダウンロードします。
- ダウンロードしたソフトウェアを
~/norconex/
フォルダに解凍します。 - GitHub からコミッター プラグインのクローンを作成します。
git clone https://github.com/google-cloudsearch/norconex-committer-plugin.git
、 その後はcd norconex-committer-plugin
- 目的のバージョンのコミッター プラグインをチェックアウトして、ZIP ファイルを作成します。
git checkout tags/v1-0.0.3
とmvn package
(ビルド時にテストをスキップするためmvn package -DskipTests
を使用してください)。 cd target
- ビルドされたプラグインの jar ファイルを noconex lib ディレクトリにコピーします。
cp google-cloudsearch-norconex-committer-plugin-v1-0.0.3.jar ~/norconex/norconex-collector-http-{version}/lib
- 作成した ZIP ファイルを解凍してファイルを展開します。
unzip google-cloudsearch-norconex-committer-plugin-v1-0.0.3.zip
- インストール スクリプトを実行して、プラグインの .jar と必要なすべての
http コレクタのディレクトリに移動します。
<ph type="x-smartling-placeholder">
- </ph>
- 上記で解凍して展開したコミッター プラグインに変更します:
cd google-cloudsearch-norconex-committer-plugin-v1-0.0.3
$ sh install.sh
を実行し、ファイルのフルパスを指定します。 ターゲットとしてnorconex/norconex-collector-http-{version}/lib
ディレクトリに移動します。- 重複する jar ファイルが見つかった場合は、オプション
1
(ソース JAR のみをコピーする)を選択します。 (ターゲット Jar の名前変更後にターゲット Jar と同じかそれ以上)
- 上記で解凍して展開したコミッター プラグインに変更します:
ステップ 2: Google Cloud Search を構成する
インデクサ コネクタが Norconex HTTP Collector に接続し、関連コンテンツをインデックスに登録できるようにするには、Norconex HTTP Collector がインストールされている Norconex ディレクトリに Cloud Search 構成ファイルを作成する必要があります。Google が推奨
Cloud Search 構成ファイルの名前を
sdk-configuration.properties
。
この構成ファイルには、パラメータを定義する Key-Value ペアを含める必要があります。 構成ファイルでは、少なくとも次のパラメータを指定する必要があります。 アクセスに必要な認証情報を取得できます。
設定 | パラメータ |
データソースの 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
サイトで使用されるオブジェクト タイプ( <ph type="x-smartling-placeholder"></ph> データソースのスキーマ オブジェクト定義をご覧ください。コネクタは何もインデックスに登録しません 構造化データが返されます。
注: この構成プロパティは、
メタデータ属性よりも低く、かつ |
日時書式
日時形式は、メタデータ属性で想定される形式を指定します。 構成ファイルにこのパラメータが含まれていない場合、デフォルト値が 分析できます次の表に、このパラメータを示します。
設定
パラメータ
追加の日時パターン
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
があります。
サンプル ファイルをコピーして構成を開始することをおすすめします。
- Norconex HTTP Collector ディレクトリに移動します。
$ cd ~/norconex/norconex-collector-http-{version}/
- 構成ファイル(
)をコピーします。$ cp examples/minimum/minimum-config.xml gcs-crawl-config.xml
- 新しく作成したファイル(この例では
gcs-crawl-config.xml
)を編集します。 次の手順に従って、既存の<committer>
ノードと<tagger>
ノードを追加または置換します。 表します
設定 | パラメータ |
<committer> node
|
<committer class="com.norconex.committer.googlecloudsearch.
GoogleCloudSearchCommitter">
必須です。プラグインを有効にするには、 <committer> ノードをルート <httpcollector> ノードの子として追加する必要があります。
|
<UploadFormat>
|
<uploadFormat>raw</uploadFormat>
省略可。インデクサ プラグインがドキュメント コンテンツを Google Cloud Search インデクサ API に push する形式。有効な値は次のとおりです。
デフォルト値は raw です。
|
BinaryContent Tagger <tagger> node
|
<tagger class="com.norconex.committer.googlecloudsearch.BinaryContentTagger"/>
<UploadFormat> の値が raw の場合は必須です。この場合、インデクサ プラグインでは、ドキュメントのバイナリ コンテンツ フィールドが使用可能である必要があります。
BinaryContentTagger <tagger> ノードは、<importer> / <preParseHandlers> ノードの子要素として追加する必要があります。
|
次の例は、Terraform ワークフローで
変更
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 をご覧ください。