---
title: "ローカライズされた高度なウェブクローラーの設定"
slug: "configure-a-localized-advanced-web-crawler"
abstract: "Sitecore Searchクローラーソースをローカライズされたコンテンツのためにクロールし、インデックス化する方法。"
---
# ローカライズされた高度なウェブクローラーの設定

このウォークスルーでは、ソースをローカライズされたコンテンツのクロールとインデックス化に設定する方法を学びます。これには利用可能なローカの設定、ローカレエクストラクターの設定、同じコンテンツのローカライズされたバージョンが同じIDを共有することの確認が含まれます。

> !重要クロール可能なアイテムのローカライズ版をインデックスするには、高度なウェブクローラーのみが使えます。

このウォークスルーでは、以下の方法を説明します:

:::攻略

1.  [クローラーを作成してください](https://doc.sitecore.com/search/ja/users/search-user-guide/index-items/configure-indexing/configure-a-localized-advanced-web-crawler.html#create-the-crawler)
2.  [クローラーのスコープを設定する](https://doc.sitecore.com/search/ja/users/search-user-guide/index-items/configure-indexing/configure-a-localized-advanced-web-crawler.html#configure-the-crawlers-scope)
3.  [サイトマップトリガーの設定](https://doc.sitecore.com/search/ja/users/search-user-guide/index-items/configure-indexing/configure-a-localized-advanced-web-crawler.html#configure-a-sitemap-trigger)
4.  [利用可能なロケーションの設定](https://doc.sitecore.com/search/ja/users/search-user-guide/index-items/configure-indexing/configure-a-localized-advanced-web-crawler.html#configure-available-locales)
5.  [JavaScript locale extractorの設定](https://doc.sitecore.com/search/ja/users/search-user-guide/index-items/configure-indexing/configure-a-localized-advanced-web-crawler.html#configure-a-javascript-locale-extractor)
6.  [ローカライズされたコンテンツ用にJavaScriptドキュメントエクストラクタを設定する](https://doc.sitecore.com/search/ja/users/search-user-guide/index-items/configure-indexing/configure-a-localized-advanced-web-crawler.html#configure-a-javascript-document-extractor-for-localized-content)
7.  [クローラースケジューラを作成する](https://doc.sitecore.com/search/ja/users/search-user-guide/index-items/configure-indexing/configure-a-localized-advanced-web-crawler.html#create-a-crawler-scheduler)
8.  [ソースへの更新を公開してください](https://doc.sitecore.com/search/ja/users/search-user-guide/index-items/configure-indexing/configure-a-localized-advanced-web-crawler.html#publish-updates-to-the-source):::

> !注元のコンテンツがクローラーアクセスする前に認証が必要な場合は、[クローラー認証設定](https://doc.sitecore.com/search/ja/users/search-user-guide/index-items/configure-indexing/crawler-authentication.html "Crawler authentication")を設定してください。例えば、元のコンテンツにはGUIベースのユーザー名やパスワード、リクエストヘッダー内のアクセストークンやキーが必要かもしれません。これはソース作成後いつでも可能です。

## クローラーを作成してください

ローカライズされたアイテムをインデックスするには、高度なウェブクローラーが必要です。すでに標準的なウェブクローラーを持っている場合は、[それを高度なウェブクローラーに変換](https://doc.sitecore.com/search/ja/users/search-user-guide/index-items/configure-indexing/configure-a-web-crawler/convert-a-web-crawler-to-an-advanced-web-crawler.html "Convert a web crawler to an advanced web crawler")できます。

新しい高度なウェブクローラーを作成するには:

1.  メニューバーで **Sources** をクリックし> **「ソースを追加」**をクリックします。
2.  **SOURCE NAME**フィールドにソースの名前を入力します。例えば、*Doc site web crawler*と入力します。
3.  **DESCRIPTION**フィールドで、設定したいソースを数行入力してください。例えば、*Web crawlerと入力してドキュメントサイトの全ページをクロールします*。
4.  **CONNECTOR**フィールドで、作成したいソースの種類として「*Advanced web crawler*」をクリックしてください。
5.  Click **Save**。エラーがなければ、Searchは新しいソースを作成します。

ソースを作成したら、そのソースをコンテンツへのアクセスとインデックス [化に設定](https://doc.sitecore.com/search/ja/users/search-user-guide/index-items/configure-indexing.html "Configure indexing") してください。

## クローラーのスコープを設定する

[クローラーの設定](https://doc.sitecore.com/search/ja/users/search-user-guide/index-items/additional-configurations-and-settings/configure-crawler-settings.html "Configure crawler settings")を設定し、ウェブクローラーの範囲を定義する重要な高レベル設定を定義します。

高度なウェブクローラーの範囲を設定するには:

1.  **ソースSettings**ページで、**Advanced Web Crawler Settings**の横にある「 **![pencil\_grey.png](https://doc.sitecore.com/api/markdown-image/search/ja/users/search-user-guide/images/pencil_grey.png) 編集**」をクリックしてください。
    
2.  オプションで、**ALLOWED DOMAINS**欄でクローラーがその中に残るドメインを入力します。これを行うことで、ウェブクローラーがSitecoreドキュメントドメインのみをクロールし、リンクされる可能性のある外部サイトはクロールしません。
    
    例えば、ウェブクローラーが外部サイトをクロールせず、ドキュメントドメインのみSitecoreクロールするようにするために、[www.doc.sitecore.com](http://www.doc.sitecore.com)を入力してください。
    
3.  クローラーがクロールするURLの深さと数を設定するには:
    
    -   **最大深度**フィールドで、クローラーがURL間進んでほしい最大レベル数を入力します。
        
        例えば、クローラーをメインページの子ページに限定するには、1を入力してください。
        
    -   **MAX URLs**フィールドには、クローラーがクロールできる最大URL数を入力します。クローラーが抜け落ちないURLを確実にするために大きな数を入力してください。
        
        例えば、5000を入力するとします。
        
4.  特定のURLパターンをクローラーの範囲から除外するには、「 **除外パターンを追加**」をクリックします。次に、**TYPE**ドロップダウンメニューで**Glob式** または **正則表現**を選択します。 **VALUE**フィールドで、除外するURLを一致させる式を入力します。
    
    例えば、クローラーが検索ページをクロールするのを防ぐには、以下のGlob式を入力してください:
    
    \*\*/search/\*\*
    
5.  並列にクロールするワーカー数の設定と、リクエスト間のオプションの遅延設定:
    
    -   **PARALLELISM (WORKERS)** ドロップダウンメニューの値をクリックして、同時にクロールしコンテンツをインデックスするスレッド(ワーカー)の数を定義できます。
        
        例えば、*2を入力して*2のワーカーだけを並列にクロールできるようにします。これはデフォルトの*5*ワーカーよりも少ないメモリを使用します。
        
    -   オプションで、ワーカーを1つだけ設定している場合は、クローラーが次のインデックス対象URLにアクセスするまでの待機時間を定義できます。これを行うには、**DELAY(MS)** フィールドで時間をミリ秒単位で入力します。
        
        例えば、*3*を入力します。
        
6.  **TIMEOUT**フィールドには、クローラーが応答を待つ時間(ミリ秒単位)を入力します。
    
    例えば、*5000*を入力してください。これにより、クローラーはクロールするすべてのURLから応答を得るために5000ミリ秒、つまり5秒間待つことになります。
    
7.  オプションでヘッダーを追加するには「 **Add Header**」をクリックしてください。次に、**Key**フィールドにコンテンツが期待するユーザーエージェントの名前を入力します。 **Value**フィールドに、コンテンツが期待するユーザーエージェントの値を入力してください。このセキュリティ対策により、Searchクローラーのみがデータをクロールでき、他のクローラーは行えません。
    
    例えば、**キー**に*user-agent*、*値にsitecorebot*を**入力します。**
    
8.  クローラーがナビゲーションクッキーを受け入れないようにするには、「 **クロール中にナビゲーションクッキーを有効にする**」をオフにしてください。
    
    複数のロケーションでコンテンツをインデックスする際は、クッキーの受け入れを無効にすることが重要です。これは、クッキーがクローラーを最初に遭遇するロケーションに限定し、すべてのロケーションでコンテンツをインデックスできない可能性があるためです。
    
9.  オプションで、クローラーがページのソースに加えてページ上のJavaScriptを待機してクロールしたい場合は、「**追加Settings**」セクションで**「Render JavaScript**」をオンにしてください。
    
10.  Click **Save**。
     

## サイトマップトリガーの設定

トリガーはクローラーにインデックスするコンテンツを探す出発点を提供します。

サイトマップまたはサイトマップインデックストリガーの設定:

1.  **ソースSettings**ページでトリガーの横![pencil\_grey.png](https://doc.sitecore.com/api/markdown-image/search/ja/users/search-user-guide/images/pencil_grey.png)**編集****をクリックしてください。**
    
2.  Click ![Plus\_add\_\_grey.png](https://doc.sitecore.com/api/markdown-image/search/ja/users/search-user-guide/images/Plus_add__grey.png) **トリガーを追加**してください。
    
3.  **トリガータイプの**ドロップダウンメニューでは:
    
    -   サイトマップをお持ちなら、「 **Sitemap」**をクリックしてください。
    -   サイトマップのインデックスをお持ちの場合は、「 **サイトマップインデックス**」をクリックしてください。
4.  **TIMEOUT**フィールドには、クローラーが応答を待つまでの時間をミリ秒単位で入力してください。サイトマップの読み込みに非常に時間がかかるため、クローラーが最大待機秒数に達したときにタイムアウトしたくないので、大きな数字を入力してください。
    
    例えば、*10000*を入力するとします。
    
5.  **URL**欄で「**追加アイテム**」をクリックし![Plus\_add\_\_grey.png](https://doc.sitecore.com/api/markdown-image/search/ja/users/search-user-guide/images/Plus_add__grey.png)、サイトマップまたはサイトマップインデックスのURLを入力します。
    
    例えば、*[https://www.sitecore.com/sitemap.xml](https://www.sitecore.com/sitemap.xml)*を入力します。
    
6.  Click **Save**。
    

## 利用可能なロケーションの設定

利用可能なローカレを設定し、このソースで使いたいドメイン言語のサブセットを定義します。

例えば、英語(アメリカ)、フランス(フランス)、日本語(日本)をロケーションにしたい場合です。クローラーは英語(アメリカ)をデフォルトのローカリストに追加しますが、フランス語(フランス)と日本語(日本)も追加しなければなりません。

> !重要安定した取り込みを確保するために、クローラーソースごとに[40](https://doc.sitecore.com/search/ja/users/search-user-guide/index-items/configure-indexing/optimizing-search.html "Optimizing Search")か所を超えないようにしてください。

ロケーションの設定:

1.  **ソースSettings**ページで、**利用可能なロケーション**の横![pencil\_grey.png](https://doc.sitecore.com/api/markdown-image/search/ja/users/search-user-guide/images/pencil_grey.png)**「編集**」をクリックしてください。
    
2.  **Available Locales**ページで、**LOCALES**フィールド内の中をクリックして、このドメインで利用可能なロケーションのリストを確認し、その後、このソースで希望するロケーションをクリックしてください。
    
    例えば、*fr\_fr*をクリックして*ja\_jp*。
    
3.  Click **Save**。
    

## JavaScript locale extractorの設定

ローカーエクストラクタを設定し、クローラーがクロールする各URLからローカーをどのように抽出するかを定義します。

> !重要エクストラクタロジックでは、ローカー形式は**Available Locales**のローカ形式と一致しなければなりません。つまり、${language}\_${country} または ${language}-${country}。

この例では、JavaScript関数を使ってこのルールを定義します。

> !注URLエクストラクタ(REGEXを使った)やヘッダーエクストラクタの設定も可能です。

JavaScriptローカーエクストラクタの設定:

1.  **Source Settings**ページで、**Locale Extractors**の横にある「 **![pencil\_grey.png](https://doc.sitecore.com/api/markdown-image/search/ja/users/search-user-guide/images/pencil_grey.png) Edit**」をクリックしてください。
    
2.  ローカルエクストラクタを作成するには、**Locale Extractors**ページで:
    
    -   **名前**欄に抽出器の意味のある名前を入力します。
        
        例えば、*JSのローカ Sitecore.com エクストラクター*を入力します。
        
    -   **Extractor Type**のドロップダウンメニューで**、JS**をクリックします。
        
3.  **JSソース**フィールドで、[Cheerio](https://cheerio.js.org/)構文でJS関数を入力してロケートを抽出します。
    
    以下はロケールを抽出するためのJavaScript関数のサンプルです:
    
    function extract(request, response) {
     locales = 'fr-fr','ja-jp';
     for (idx in locales) {
     locale = localesidx;
     if (request.url.indexOf('/' + locale + '/') >= 0) {
     return locale.toLowerCase().replace('-','\_');
     }
     }
     return "en\_us";
    }
    
    関数は次の論理を用いています:
    
    -   ページURLにロケージがある場合は、ページのURLからロケールを取得し、小文字かつ下線付きでフォーマットします。このフォーマットは、 **利用可能なローカ(Availableローカ)**のロケートフォーマット、すなわち *fr\_fr* と *ja\_jp*と一致しなければならないため重要です。
    -   ページURLにロケージがない場合は、インデックス文書にデフォルトのロケージを割り当て *en\_us*。
4.  Click **Save**。
    

## ローカライズされたコンテンツ用にJavaScriptドキュメントエクストラクタを設定する

高度なウェブクローラーで抽出したい属性を指定するドキュメントエクストラクタを設定してください。ローカライズされたコンテンツがあれば、*ID*に加えて必要な他の属性も設定してください。これは、同じコンテンツのローカライズされたバージョンが同じIDを共有するようにするためです。

この例では、JavaScriptを使って*id*、*type*、*title*、*subtitle*、*product*の属性を抽出します。

ローカライズされたコンテンツ用のJavaScriptドキュメントエクストラクタを設定するには:

1.  **ソースSettings**ページで、**ドキュメント抽出器**の横![pencil\_grey.png](https://doc.sitecore.com/api/markdown-image/search/ja/users/search-user-guide/images/pencil_grey.png)**「編集**」をクリックしてください。
    
2.  ドキュメントエクストラクターを作成するには、**ドキュメントエクストラクター** のページで:
    
    -   **名前**欄に抽出器の意味のある名前を入力します。
        
        例えば*Sitecore言語* の場合です。
        
    -   **Extractor Type**のドロップダウンメニューで**、JS**をクリックします。
        
3.  **タグ付け**セクションで「**タグ付け追加**」をクリックします。
    
    タグエディターには、*説明*、*名前*、*タイプ*、*image\_url**、URL*属性を返すサンプルJavaScript関数が見られます。Search設定の助けとしてこのサンプルを提供しています。
    
4.  ローカライズされたコンテンツを有効にするには、**ローカライズド** スイッチをオンにしてください。
    
5.  タグエディターで、属性値を返すJavaScript関数を貼り付けます。 *同じ* コンテンツのローカライズされたバージョン間でid属性の値が一定であることを確認しましょう。
    
    関数は[Cheerio](https://cheerio.js.org/)構文を使用し、オブジェクトの配列を返さなければなりません。
    
    例えば、次のコードを貼り付けます:
    
    function extract(request, response) {
     $ = response.body;
     url = request.url;
     locales = '/fr-fr/', '/ja-jp/';
     for (idx in locales) url = url.replace(localesidx, '/');
     id = url.replaceAll('/', '\_').replaceAll(':', '\_').replaceAll('.', '\_');
     return {
     'id': id,
     'type': $('metaname="type"').attr('content') || 'Others',
     'title': $('h1').text(),
     'subtitle': $('metaname="description"').attr('content') || $('sectiondata-component-name="Hero Banner" divclass\*="side-content">div>p, header div.lead p').text(),
     'product': $('metaname="product"').attr('content')
     };
    }
    
    コードは以下のロジックを使って属性値を取得します:
    
    -   id - ローカネを無視してURLからこれを取得します。URLからIDを生成するには、まずローカレをスラッシュ(/)に置き換えます。次に、URL内のすべてのスラッシュ(/)、点(.)、コロンをアンダースコア(\_)に置き換えます。
    -   type - 最初の <meta name="type"> タグの内容を使用する。そのタグが存在しない場合は *、他の*タグを使いましょう。
    -   title - タグ <h1> HTMLテキストを優先してください。
    -   subtitle\- 最初のmeta name="type"タグの内容を使う。このタグが存在しない場合は、最初のsectionの<div class="side-content">テキストのテキストに <data-component-name="Hero Banner"> タグを付けて使用してください。
    -   product - 最初の <meta name="product"> タグの内容を使うこと。
6.  タグ **編集** ウィンドウで「 **保存**」をクリックします。次に「 **ドキュメント抽出器** 」ページで「 **保存**」をクリックします。
    

## クローラースケジューラを作成する

クローラースケジュールを作成するには:

1.  メニューバーで「 **Sources**」をクリックしてください。
    
2.  クロールをスケジュールしたいソースをClickしてください。
    
3.  **ソースSettings**ページで、**クローラースケジューラー**の横![pencil\_grey.png](https://doc.sitecore.com/api/markdown-image/search/ja/users/search-user-guide/images/pencil_grey.png)**編集**をクリックしてください。
    
4.  Searchでスケジュールクロールを開始したいタイミングを設定するには、**STARTS**ドロップダウンメニューの値をクリックしてください。スケジュールをできるだけ早く開始したい場合は **、「いつでも**」を選択してください。特定の日付からクロールを開始したい場合は、「 **Specific Date**」をクリックし、日付選択機能で日付をクリックしてください。
    
5.  定期的なスケジュールでクロールを実行させるには、**REPEAT**ドロップダウンメニューで **「はい**」をクリックします。
    
    > !ヒント将来の日に一度だけクロールをスケジュールするには、**REPEAT**ドロップダウンメニューで「 **DOES NOT REPEAT」**をクリックしてください。この設定では、ステップ4で選択した日にクロールが発生し、繰り返しません。
    
6.  クロールの頻度を定義するには、「 **Repeats every** field」の横にある値をクリックしてください。 **1**から**99**までの任意の値を間隔として、**日**数、**週**、または( *生産* ドメインのみ) **時間** 単位をクリックできます。例えば、4週間ごとにクロールを実行したい場合は、**4**と **週**をクリックしてください。
    
7.  クロール開始時間を定義するには、**RUN TIME**ドロップダウンメニューの値をクリックしてください。例えば、クロールを深夜0時に開始したい場合は**12:00 AM**をクリックしてください。表示される時間は自動的にあなたのタイムゾーンに合わせて調整されます。
    
8.  クローラースケジュールの終了時間を設定するには、**END DATE**ドロップダウンメニューの値をクリックしてください。スケジュールを無期限に継続したい場合は「 **Never**」を選択してください。特定の日付でクロールを終了させたい場合は、「 **Specific Date**」をクリックし、日付ピッカーで日付をクリックしてください。
    
9.  Click **Save**。
    

## ソースへの更新を公開する

最初のスキャンとインデックスを始めるには、必ずソースを [公開](urn:resource:component:1033035) してください。

情報源を公開するには:

1.  メニューバーで「 **Sources**」をクリックしてください。
2.  公開したいソースをClickで「 **公開**」をクリックします。
3.  **ソース公開**ダイアログで、このソースの[再クロール](https://doc.sitecore.com/search/ja/users/search-user-guide/index-items/keep-indexes-up-to-date.html "Keep indexes up to date")をSearchしたい場合は、「**公開後にソース再クロールをトリガー**」チェックボックスを選択してください。
4.  Click **Publish**。