はじめに
Watson Disocoveryでは従来のJavaベースのクローラーに代わり、Connectorが提供されています。Connectorを使うとUIを使って様々なデータストアへの接続が非常に簡単になります。
ドキュメント Connecting to Data Sources
2019/2月現在で提供されているConnectorは下記です。
SalesForceやBoxはエンタープライズ環境が必要なので割愛。今回は手元に手軽な環境がある ①IBM Cloud Object Storage ②WebCrawlをサクッと接続してみました。結論から申せば、簡単すぎ!
1. IBM Cloud Object Storage(ICOS)
ICOS上のバケットに置いてある文書をクロールします。念のため(&他のデータストアでも同様)ですが、クロールした結果のコレクションや索引はWatson Discovery上に作られます。Watson Discoveryのコレクション/索引がICOS上に作られるわけではありません
ICOS側での事前の準備
上のようにus-geo上のバケットに日本語pdfを置いておきます
Discoveryから当該バケットにアクセスするために、以下の2つの定義情報が必要です
- S3互換(=hmac付き)のサービス資格情報 - 作り方はこの記事をご参照ください(要は**{"HMAC":true}**で生成)
- 当該バケットのエンドポイントの名前
バケットを作る時の「回復力」と「ロケーション」の指定によって、エンドポイントの名前は異なります。ご利用の環境に準じたエンドポイントを適宜選択してください。
DiscoveryでのICOS指定
「Coonect to datasource」- 「IBM Cloud Object Storage」を選択
前項で準備したEndpoint/Access key ID/Secret Access Keyを入力して「Connect」ボタン
以下を適宜選択して、「Save&Sync Onjects」ボタン
- リフレッシュのサイクル(5分毎、1時間毎、1日毎、など)
- コンテンツの言語
- 照会対象のバケット
以上でクロールが始まり、コレクションが作成されます。コンテンツの量次第ですが、インデックス作成が完了したら照会できます
2. Webクローラー
Discovery上での設定
「Coonect to datasource」- 「Web Crawl」を選択
以下を適宜選択して、「Save&Sync Onjects」ボタン
- リフレッシュのサイクル(5分毎、1時間毎、1日毎、など)
- コンテンツの言語
- 始点となるURL( ホップ数も指定できます)
Liteプランの方はホップ数に注意
私はLiteプランでやってたのですが、クローラーのホップ数のデフォルトが2なので、リンクを辿りに辿ってLiteプランの上限である1000を超えてしまいました。テスト的にやられるならサイトによりホップ数を減らしたほうがいいかもしれません。なお、コレクションを削除したら上限はリセットされました。当月はもう使えない、というわけではなさそうですのでご安心ください。
いずれも非常に簡単にクロール対象にできました。おしまい。