1. インデックス項目

トリガーを構成する

日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

トリガーは、Sitecore Searchクローラーがインデックスを作成するコンテンツを検索するために使用する開始点です。タイプに応じて、トリガーにはクロールするURLの完全なリストを含めることも(サイトマップまたはサイトマップ インデックス トリガーを使用する場合)、さらなるアクションの開始点(リクエストまたはJavaScriptトリガーを使用する場合)にすることもできます。

Webクローラー ソースを除き、複数のトリガーを構成できます。複数のトリガーがある場合、Searchはすべてのトリガーを並行して実行します。

メモ

Webクローラー ソースの場合は、Source SettingsページのWeb Crawler Settingsセクションでトリガーを構成します。高度なWebクローラーおよびAPIクローラーソースの場合は、Source SettingsページのTriggersセクションでトリガーを構成します。

場合によっては、トリガーだけではインデックスを作成するすべてのコンテンツを取得するのに十分ではない場合があります。この場合、要求抽出器も定義する必要があります。

サイトマップとサイトマップ インデックスのトリガー

サイトマップまたはサイトマップ インデックス トリガーは、インデックスを作成するすべてのURLを含むサイトマップまたはサイトマップ インデックスがある場合に使用します。ほとんどの公開Webサイトにはサイトマップまたはサイトマップ インデックスがあるため、これは通常、トリガーを構成する最も簡単な方法です。

サイトマップまたはサイトマップ インデックス トリガーを定義すると、Searchはサイトマップ内のすべてのURLをクロールします。このトリガー・タイプの場合、Web Crawler Settingsのデフォルト・max_depth0であり、これはハイパーリンクをたどらないSearchことを意味します。

手記

サイトマップまたはサイトマップインデックストリガーは、ウェブクローラー および 高度なウェブクローラー ソースで使用できます。

サイトマップまたはサイトマップインデックスをトリガーとして使用するように、次の設定を構成します。

設定

形容

Timeout

クローラーがサイトマップURLからデータを取得するのを待機する時間(ミリ秒単位)。

デフォルト: 1000

Urls

サイトマップまたはサイトマップのインデックスURL。複数のURLを入力できます。

たとえば、次のように入力します。 https://www.sitecore.com/sitemap.xml

Requestトリガー

要求トリガーは、クローラーを1つのURLから開始してハイパーリンクをたどる場合、またはコンテンツにREST APIエンドポイントを介してのみアクセスできる場合に使用します。

手記

要求トリガーは、Webクローラー拡張Webクローラー、およびAPIクローラー ・ソースで使用できます。

要求トリガーを作成すると、SearchはそのURLから開始し、ハイパーリンク (存在する場合) をたどります。

手記

MAX DEPTH クローラー設定を使用して、クローラーが1つのURLから開いてインデックスを作成する必要があるハイパーリンクの数を定義します。

要求をトリガーとして使用するように、次の設定を構成します。

設定

形容

URL

開始元のURLまたは呼び出すAPIエンドポイント。

Body

要求の本文。

この設定は、Webクローラー ソースでは使用できません。

Header

リクエスト内のヘッダー。

この設定は、Webクローラー ソースでは使用できません。

Method

APIリクエストのメソッド。デフォルトのメソッドGETは、要求URLのみが必要で、本文パラメーターは必要ない場合は使用します。ボディパラメータを追加する場合は、POSTPUT 、またはPATCHを使用します。

この設定は、Webクローラー ソースでは使用できません。デフォルトの方法はGETです。

JavaScriptトリガー

URLを返すJavaScript関数を作成する場合は、JavaScriptトリガーを設定します。Sitecore Searchは、各URLをリクエストトリガーとして扱います。

手記

JavaScriptトリガーは、高度なWebクローラー およびAPIクローラー ・ソースで使用できます。

JavaScriptトリガーを使用できるシナリオの1つは、多くのURLをクロールする必要がある場合であり、その中には単純なGET要求が必要なものもあれば、ヘッダーと本文情報を含むPOST要求が必要なものもあります。URLごとに個別のリクエストトリガーを作成する代わりに、次のコードサンプルのように、URLのリストを返すJavaScript URLを作成できます。

function extract() {
  return [
    {
      "url": "http://www.domainA.com/page1.html"
    },
    {
      "url": "http://www.domainB.com/page1.html",
      "method": "POST",
      "headers": {
        "user-agent": "sitecorebot",
        "Content-Type": "application/json"
      },
      "body": {
        "sampleKeyA": "sampleValueA"
      }
    },
    {
      "url": "http://www.domainC.com/page1.html",
      "method": "POST",
      "headers": {
        "user-agent": "sitecorebot",
        "Content-Type": "application/json"
        "auth-token":"tokenvalue"
      },
      "body": {
        "sampleKeyB": "sampleValueB"
        "sampleKeyC": "sampleValueC"
      }
    }
  ];
}

JavaScriptトリガーを使用できる別のシナリオは、URLをバッチで返すだけのエンドポイントを介してコンテンツにアクセスできる場合です。たとえば、エンドポイントに1000個のオブジェクトがあるが、呼び出しごとに100個のオブジェクトしか返さない場合は、10回反復するforループを使用してJavaScriptトリガーを作成します。各反復により、100個のオブジェクトを提供するURLが作成されます。

JavaScript関数をトリガーとして使用するように、次の設定を構成します。

設定

形容

Trigger Source

URLのリストを返すJavaScript関数。

Timeout

クローラーがJavaScript関数によって返された各URLからデータを取得するのを待機する時間 (ミリ秒単位)。

デフォルト: 1000。

RSSトリガー

RSSフィードで使用可能になるコンテンツにインデックスを付ける場合に、RSSトリガーを構成します。

手記

RSSトリガーは、高度なWebクローラー ソースで使用できます。

SearchはRSSフィードを解析するときに、RSSフィードのメイン <item> セクション内の<link>要素を検索し、各項目を要求トリガーとして扱います。

たとえば、次のRSSフィードの画像には3つのリンクがあります。

An RSS file with many elements. There are three link elements within the item element. The link elements contain URLs.

RSSトリガーを構成するプロセスは、サイトマップまたはサイトマップ インデックス トリガーを構成する方法と非常によく似ています。リクエストURLをRSSフィードURLに変更するだけです。

RSSフィードをトリガーとして使用するように、次の設定を構成します。

設定

形容

Timeout

クローラーがRSSフィードのURLからデータを取得するのを待機する時間 (ミリ秒単位)。

デフォルト: 1000。

Urls

RSSフィードURL。複数のURLを入力できます。

この記事を改善するための提案がある場合は、 お知らせください!