コンテンツクローラ
コンテンツクローラ Thing を使用して、別のエンティティ上のサービスを呼び出します。コンテンツクローラは、データを取得して、コンテンツクローラ Thing の
データテーブルにデータを格納するために使用します。
コンテンツクローラ Thing の個々のエンティティで、データをフェッチしてそのデータのインフォテーブルをコンテンツクローラに返すサービスを定義する必要があります。次にコンテンツクローラは、受信したフィールドとタグを、コンテンツクローラのデータシェイプで使用するフィールドにマッピングします。各行は、コンテンツクローラ Thing のデータテーブルに新しいエントリとして追加されます。コンテンツクローラのデータテーブルのインデックスは、データテーブルエンティティと同じように機能します。
コンテンツクローラの作成
エンティティのデータテーブルからコンテンツクローラ Thing のデータテーブルにデータを読み込むには、次の操作を行います。
1. データシェイプを作成し、データテーブルで使用するためにフィールドを定義します。Composer からデータシェイプを作成するには、 > の順にブラウズして、「新規」ボタンをクリックします。
a. 名前と説明を入力します。
b. 「フィールド定義」領域で、「追加」ボタンをクリックします。
c. 新規フィールド定義枠で、適切な情報を入力して
をクリックします。
2. 前のステップで作成したデータシェイプを使用して、データテーブルを作成します。Composer からデータテーブルを作成するには、 > の順にブラウズして、「新規」ボタンをクリックします。
a. 「データテーブル」テンプレートを選択して、「OK」をクリックします。
b. 名前と説明を入力して、前のステップで作成した「データシェイプ」を選択します。
c. 「サービス」領域で、「追加」をクリックしてカスタムサービスを作成します。
d. 「出力」領域で、ドロップダウンリストから「INFOTABLE」を選択します。
e. 前のステップで作成した「データシェイプ」を選択します。
f. 「インフォテーブルタイプ」を「コンテンツクローラエントリ」に設定して、「完了」をクリックします。
3. コンテンツクローラ Thing 用に新しいデータシェイプを作成します。
| コンテンツクローラ固有のデータシェイプを新規作成するか、ステップ 1 で作成したデータテーブルで使用したものと同じデータシェイプを使用できます。このステップはオプションですが、この例ではコンテンツクローラ Thing に新しいデータシェイプを使用します。 |
a. 新しいコンテンツクローラ Thing を作成します。
i. Composer から、 > の順にブラウズして、「新規」ボタンをクリックします。
ii. 名前を入力して、「ベース Thing Template」フィールドで「コンテンツクローラ」を選択します。
iii. 「データシェイプ」フィールドで、前のステップで作成したデータシェイプを選択し、「保存」をクリックします。
コンテンツクローラのコンフィギュレーション
コンテンツクローラ Thing の「コンフィギュレーション」領域に含まれているコンフィギュレーションテーブルでは、取得したデータのフィールドをマッピングできます。
• 「フィールドからタグへのマッピング」コンフィギュレーションテーブルでは、フィールドの値をデータタグボキャブラリ内のタグにマッピングします。
◦ データタグボキャブラリが動的な場合、データからマッピングされる値には、ボキャブラリに自動的に入力された用語が含まれます。
◦ データタグボキャブラリが動的でない場合、データからマッピングされる値には、正しくマッピングされた値を表す事前定義された用語が含まれます。
◦ 例: TestingVocab:false;TestingVocab:iAmAString最初の部分が boolProp 値で 2 番目の部分が stringProp 値です。
• データテーブルの「インデックスの設定」コンフィギュレーションによって、追加のテーブルインデックスを定義できます。これはリレーショナルデータベースとほぼ同じであり、プライマリキーに加え (プライマリキーはデータシェイプで定義します)、その他のフィールドに基づいてテーブルをクエリーする必要があります。一般的に使用するフィルタ基準のセットごとにインデックスを作成する必要があります。これはクエリーのパフォーマンスに大きな影響を与えます。
• 「フィールドからフィールドへのマッピング」コンフィギュレーションテーブルでは、取得したデータのフィールドを、コンテンツクローラ Thing のデータシェイプで定義されたフィールドにマッピングします。
| コンテンツクローラ Thing とコンテンツクローラサービスから返されたインフォテーブルに対して同じデータシェイプが使用されている場合、フィールドマッピングは自動的に処理されます。 |
コンテンツクローラのサービス
次のサービスは、コンテンツクローラ Thing に独自のものです。
• CrawlEntries - コンテンツクローラのすべてのデータテーブルエントリをパージして、GetExternalContent を実行します。
• GetExternalContent - コンテンツクローラ Thing の「一般情報」領域で定義されているサービスを実行します。このサービスからは、取得した値のインフォテーブルが返されます。コンテンツクローラのデータテーブルに対する修正は行われません。
• GetExternalContentDetail - 特定のコンテンツアイテムをキーによって取得します。