1. Search user guide

トリガーの設定

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

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

トリガーとは、Sitecore Searchクローラーがインデックスするコンテンツを探すための出発点です。種類によっては、トリガーにはクロールするURLの完全なリスト(サイトマップやサイトマップインデックストリガーを使う場合)が含まれることもあれば、リクエストやトリガーを使う場合など、さらなる行動の出発点となる場合もありますJavaScript。

ウェブクローラーソースを除き、複数のトリガーを設定することができます。複数のトリガーがある場合は、Searchがすべてのトリガーを並列に実行します。

!注ウェブクローラーソースの場合は、Source SettingsページのWeb Crawler Settingsセクションでトリガーを設定してください。高度なウェブクローラーおよびAPIクローラーソースについては、Source Settingsページのトリガーセクションでトリガーを設定してください。

時には、トリガーだけでインデックスしたいすべてのコンテンツを取得するには不十分かもしれません。この場合、リクエストエクストラクタの定義も必要です。

サイトマップおよびサイトマップインデックストリガー

インデックスしたいすべてのURLを含むサイトマップやサイトマップインデックスがある場合は、サイトマップまたはサイトマップインデックストリガーを使いましょう。これはトリガーを設定する最も簡単な方法で、ほとんどの公開ウェブサイトにはサイトマップやサイトマップインデックスがあります。

サイトマップやサイトマップインデックストリガーを定義すると、Searchはサイトマップ内のすべてのURLをクロールします。このトリガータイプの場合、ウェブクローラー Settingsのデフォルトmax_depth**は0であり、Searchはハイパーリンクを追いません。

!注 ウェブクローラー高度なウェブクローラー ソースと組み合わせて、サイトマップやサイトマップインデックストリガーを使うことができます。

以下の設定を設定し、サイトマップまたはサイトマップインデックスをトリガーとして使用してください:

舞台設定

概要

タイムアウト

クローラーがサイトマップURLからデータを取得するために待つ時間はミリ秒単位です。

デフォルト

URLs

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

例えば、 https://www.sitecore.com/sitemap.xml

Requestトリガー

クローラーを1つのURLから始めてハイパーリンクをたどりたい場合、リクエストトリガーを使うと、コンテンツはREST APIエンドポイント経由でしかアクセスできません。

!注 ウェブクローラー高度なウェブクローラーAPIクローラー ソースでリクエストトリガーを使うことができます。

リクエストトリガーを作成すると、SearchはそのURLから始まり、もしあればハイパーリンクをたどります。

!注MAX DEPTHクローラー設定を使って、クローラーが1つのURLから開いてインデックスするために必要なハイパーリンクの数を定義してください。

リクエストをトリガーとして使用する設定を以下に設定してください:

舞台設定

概要

URL

最初に呼び出すURLか、呼び出したいAPIエンドポイントかです。

本文

要望の本文。

この設定はウェブクローラーソースでは利用できません。

ヘッダー

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

この設定はウェブクローラーソースでは利用できません。

方法

APIリクエストのメソッド。リクエストURLのみでボディパラメータが必要な場合は、デフォルトのメソッド GETを使いましょう。ボディパラメータを追加したい場合は POST、 PUT 、 PATCH を使いましょう。

この設定はウェブクローラーソースでは利用できません。デフォルトの方法は GETです。

JavaScriptトリガー

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

!注 高度なウェブクローラーAPIクローラー ソースでJavaScriptトリガーを使うことができます。

JavaScriptトリガーを使える一つのシナリオは、多くの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": JSON.stringify({         "sampleKeyA": "sampleValueA"       })     },     {       "url": "http://www.domainC.com/page1.html",       "method": "POST",       "headers": {         "user-agent": "sitecorebot",         "Content-Type": "application/json"         "auth-token":"tokenvalue"       },       "body": JSON.stringify({         "sampleKeyB": "sampleValueB"         "sampleKeyC": "sampleValueC"       })     }   ; }

JavaScriptトリガーを使えるもう一つのケースは、URLをバッチで返すエンドポイントを通じてコンテンツにアクセスできる場合です。例えば、エンドポイントに1000個のオブジェクトがあるが、1回の呼び出しで100個しか返されない場合、10回繰り返すforループ付きのJavaScriptトリガーを作成します。各イテレーションで100個のオブジェクトを提供するURLが得られます。

これらの設定をJavaScript関数をトリガーとして使うように設定してください:

舞台設定

概要

トリガーソース

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

タイムアウト

クローラーがJavaScript関数から返す各URLからデータを取得するのを待つ時間、ミリ秒単位です。

デフォルト

RSSトリガー

RSSフィードで提供されるコンテンツをインデックスしたいときは、RSSトリガーを設定しましょう。

!注 高度なウェブクローラー ソースでRSSトリガーを使うことができます。

Search RSSフィードを解析する際、RSSフィードのメインセクション内の要素を探し、各アイテムをリクエストトリガーとして扱います。

例えば、以下の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フィードをトリガーとして使用してください:

舞台設定

概要

タイムアウト

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

デフォルト

URLs

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

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