1. インデックス項目

ドキュメント抽出器の設定

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

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

ドキュメント抽出器は、元のコンテンツ内のURLまたはドキュメントからインデックス文書を作成します。次に、Sitecore Searchこれらの索引文書 をソースの索引に追加します。実行時に、Searchはインデックス ドキュメントを調べて結果を取得します。

ドキュメント抽出器は、属性 と属性値をkey:valueペアの形式で各インデックスドキュメントに追加します。ドキュメント抽出器を構成するときは、各属性の値を抽出する方法Sitecore Search指定します。ドキュメント抽出器が属性値を見つけられない場合、そのkey:valueペアはそのcontent itemのインデックス文書に追加されません。ドキュメント抽出器がmandatory attributeの値を見つけられない場合、Sitecore Searchはそのcontent itemにインデックスを付けません。

メモ

Webクローラーの場合、ドキュメント抽出器はAttribute Extractionと呼ばれます。

手記

JavaScript以外のすべての抽出器は、各属性で最初に一致するものが見つかった後に停止します。JavaScriptエクストラクタは全体的に実行されます。

たとえば、100個のURLを持つサイトをクロールし、content_typetitledescriptionimage_urlの属性を取得するようにクローラーを構成します。100個のインデックス文書を取得し、それぞれに次のkey:valueペアの一部またはすべてが含まれます。

content_type:<content_type_value>
title:<title_value>
description:<description_value>
image_url: <image_url_value>
id: <id_value>

後でWebサイトをSearchと統合すると、次の検索エクスペリエンスを作成できます。

  • 各項目のtitledescription、およびimage を含む結果ページを表示します。

  • ユーザーがnewsblogなどcontent_type等しい値でフィルタリングできるようにします。

  • ユーザーが結果をtitleの昇順または降順で並べ替えることができます。

属性の値を抽出しない限り、その属性を使用して検索エクスペリエンスを作成することはできません。前の例では、元のコンテンツに各コンテンツのaverage_ratingのフィールドがあり、average_rating属性を設定している場合でも、ユーザーに各コンテンツのを表示することはできません。これは、average_rating属性を抽出するようにクローラーを構成していないためです。

Webクローラーを除き、ソースに対して複数のドキュメント抽出ツールを作成できます。通常、異なるURL一致ルールと属性抽出ルールを必要とするコンテンツ セクションごとに1つのドキュメント抽出ツールを作成します。たとえば、personalloanscommercialの3つのセクションを持つ銀行Webサイトがあり、それぞれに異なるURLとメタデータ パターンがあります。これを処理する1つの方法は、mybank.com/personal用に1つ、mybank.com/loans用に1つ、mybank.com/commercial用に1つ作成することです。

手記

必須属性

Sitecore Searchは、URLまたはドキュメントからインデックスドキュメントを作成する前に、すべての必須属性を抽出できる必要があります。必須属性の値を抽出できない場合、そのURLまたはドキュメントにはインデックスが付けられません。

必須属性には、すべてのドメインに必須の属性と、ドメインにのみ必須の属性の2種類があります。

すべてのドメインには、次の必須属性があります。

  • url - ページまたはドキュメントごとにURLを抽出する方法を構成する必要があります。

  • type - ページや文書ごとにタイプを抽出する方法を設定する必要があります。

  • id - Searchは、作成するインデックス文書ごとに一意のIDを生成して割り当てます。ただし、値を抽出して割り当てることはできます。

    手記

    id抽出方法を明示的に構成する必要があるシナリオは、ローカライズされたコンテンツがある場合と、1つのURLまたはドキュメントから複数のインデックス ドキュメントを生成する場合の2つのシナリオです。どちらのシナリオでも、コンテンツ・ピースのすべての索引文書が同じIDを共有していることを確認してください。これは、索引文書IDを使用する規則およびその他の設定がすべての索引文書に適用されるようにするために重要です。

    たとえば、会社のAbout Usページは、英語 (米国) を含む6つのロケールで利用できます。 id属性の抽出方法を構成しない場合、Searchは6つのAbout Usインデックス文書に対して6つの異なるIDを生成します。これにより、インデックス文書のIDを使用するものを構成するときに問題が発生します。たとえば、多くのピン留めルールは、特定のIDを持つcontent itemを特定のスロットにピン留めすることに基づいています。 About Usをピン留めし、英語 (米国) バージョンのIDを使用する場合、英語 (米国) ロケールのユーザーのみがピン留めされたcontent item表示されます。他の5つのロケールのユーザーには、ローカライズされたバージョンのAbout Usがピン留めされていません。この問題を回避するには、同じコンテンツのローカライズされたバージョンのIDが同じであることを常に確認してください。

これらの属性に加えて、ドメインには必須として構成された他の属性がある場合があります。抽出方法も設定する必要があります。

一致するURL

手記

URLを使用して、拡張機能WebクローラーおよびAPIクローラー・ソースと機能を照合できます。

ドキュメント抽出器が、URLが定義されたパターンに一致するページまたは文書のみを抽出するようにするには、URLs to Matchを設定します。

正規表現、Glob式、またはJavaScript関数 を使用して、URLパターンを定義できます。

この設定の一般的な使用例は、ソースコンテンツの領域ごとに異なる抽出器を作成することです。たとえば、HTMLページ用のドキュメント抽出ツールと、PDFコンテンツ用のドキュメント抽出ツールを作成できます。

リダイレクトの場合は、リダイレクトされたURLを含めるようにURLs to Matchを設定します。

固定値の使用

手記

すべてのクローラー・ソースの属性に固定値を指定できます。

ソースによってインデックスが付けられたすべてのドキュメントで属性に定数値を持たせる場合は、この属性に固定値を指定できます。つまり、すべてのインデックス文書には、この属性に対して同じ事前定義値があります。クローラーは、ページ・メタデータからこの属性値を抽出しません。

この方法は、すべてのインデックス文書で同じ値を持つ属性が必要なが、その属性値がコンテンツメタデータで使用できないか、一部のページでのみ使用可能であるか、または異なるページで異なる値を持つ場合に便利です。

一般的な使用例は、type属性に固定値を指定することです。たとえば、銀行Webサイトのコンテンツをインデックス化する2つのソースがあるとします。1つのソースは商業銀行セクションのコンテンツにインデックスを付け、もう1つのソースは消費者銀行セクションのコンテンツにインデックスを付けます。 type属性を処理する1つの方法は、最初のソースに固定値commercialを指定し、2番目のソースにconsumerを指定することです。

HTMLメタタグまたはOGタグを使用した属性値の抽出

HTMLメタタグまたはOGタグを使用して属性値を抽出するには、コンテンツを属性値として使用するメタタグまたはOGタグの名前をSearchに指定するだけです。次に、Searchは、属性値に評価されるXPath式を内部的に構築します。

手記

Webクローラー ソースでは、HTMLメタ タグまたはOGタグ抽出方法を使用できます。

このメソッドは、属性値がページヘッダーにあり、Searchが単純なXPath式を使用して属性値にアクセスできる場合に使用することをお勧めします。

HTMLメタタグまたはOGタグを入力すると、内部で行われるため、Searchが作成するXPath式は表示されません。ただし、この属性抽出が機能するかどうかを評価できるように、Searchによって作成される式を知っておくと役立ちます。

次のセクションでは、入力したメタ タグまたはOGタグからSearchでXPath式を作成する方法について説明します。

HTMLメタタグの使用例

まず、Searchは、メタ タグ名を入力したことを前提としたXPath式を構築します。その式で結果が得られない場合、Searchは、プロパティ名を入力したことを前提としたXPath式を作成します。

たとえば、authorと入力すると、Searchは最初にXPath式 //meta@name='author'/@contentを作成します。この式が値を指定すると、Searchは停止します。この式が値を指定しない場合、Searchは次のXPath式 //meta@property='author'/@contentを構築します。

OGタグの使用例

og:site_nameと入力するとします。この語句には「OG」が含まれているため、SearchはOGタグを入力したと想定し、次のXPath式を作成します。

//meta@property='og:site_name'/@content

XPathドキュメント抽出器の使用

属性値に評価されるXPath式を使用する場合は、XPathドキュメント抽出器を使用します。

手記

XPathドキュメント抽出器は、Webクローラーおよび 拡張Webクローラー ・ソースで使用できます。ただし、Webクローラーの場合、構成する必要がある設定は、属性値を抽出するためのXPath式のみです。

XPathを使用して属性を抽出するには、次の設定を使用します。

Settings

形容

Tag

Source Settings > Tags Definitionsで定義したエンティティベースのタグ。

Localized

このドキュメントが複数のロケールで利用できるかどうか。

この属性は、ドメインに複数のロケールがある場合にのみ表示されます。

Attribute

値を抽出する属性。ドメイン設定時に定義した属性をAdministration > Domain Settingsセクションで選択します。

Value type

構成するルールのタイプ。以下を使用できます。

  • Fixed - この属性を持つすべてのドキュメントに固定値を追加します。

  • Expressions - 属性値を抽出する式を入力するには

手記

この設定は、Webクローラーには適用されません。

Selectors

Sitecore Searchドキュメントに属性タグを追加するときに使用するルール。これは、Value typeドロップダウンメニューでExpressionsを選択すると表示されます。

CSSまたはXPath EXPRESSIONDEFAULT TO値を追加します。

属性に対して複数のセレクターを定義できます。これは、ソースコンテンツに異なるコンテンツ配置がある場合に便利です。たとえば、titleの値は、一部のcontent itemsでは <h1> HTMLタグにあり、他のcontent itemsではog:titleメタタグにある可能性があります。複数のセレクターがある場合、Searchは先頭から開始し、セレクターが属性値を返すまでセレクターを実行します。

手記

この設定は、Webクローラーには適用されません。

XPath抽出属性の例

XPathドキュメント抽出器を選択すると、構成を支援するために、Searchはいくつかの属性と対応するXPath抽出式を追加します。任意のサンプル属性の構成を編集または削除できます。

Searchでは、既定で次のサンプル属性とXPath式が追加されます。

  • type - //meta@property='og:type'/@content

  • url - //meta@property='og:url'/@content

  • image_url - //meta@property='og:image'/@content

  • name - //meta@property='og:title'/@content

  • description - //meta@property='og:description'/@content

JavaScriptドキュメント抽出ツールの使用

JavaScriptを使用して属性を抽出するには、クローラーが各属性の値を取得する方法を定義する関数を追加します。通常、JavaScriptドキュメントは、XPath式では属性の値を抽出するのに十分ではないシナリオで使用します。

手記

JavaScriptドキュメント抽出器は、高度なWebクローラーAPIクローラー ・ソースで使用できます。

たとえば、ページメタデータから取得したURLの一部を属性として保存する前に置き換える場合は、JSエクストラクタを使用する必要があります。また、JavaScript関数を使用して複合属性を作成する、つまり、複数の既存の属性の値を組み合わせて新しい属性を作成することもできます。

設定を支援するために、Searchタグからdescriptionnametype、およびURL属性の値を取得する次のサンプルJavaScript関数を追加meta

function extract(request, response) {
    $ = response.body;

    return [{
        'description': $('meta[name="description"]').attr('content') || $('meta[property="og:description"]').attr('content') || $('p').text(),
        'name': $('meta[name="searchtitle"]').attr('content') || $('title').text(),
        'type': $('meta[property="og:type"]').attr('content') || 'website_content',
        'url': $('meta[property="og:url"]').attr('content')
    }];
}

この関数を編集したり、新しい関数を貼り付けたりすることができます。

より複雑なJavaScript関数用にJavaScriptエクストラクタを設定する方法 のトピックを参照してください。

JSONPathドキュメント抽出器の使用

JSONPathドキュメント抽出器を使用して、JSONデータから属性値を抽出します。

手記

APIクローラー ソースでJSONPathドキュメント抽出器を使用できます。

JSONPathを使用して属性を抽出するには、次の設定を使用します。

Settings

形容

Tag

Source Settings > Tags Definitionsで定義したエンティティベースのタグ。

Localized

このドキュメントが複数のロケールで利用できるかどうか。

この属性は、ドメインに複数のロケールがある場合にのみ表示されます。

Attribute

値を抽出する属性。ドメイン設定時に定義した属性をAdministration > Domain Settingsセクションで選択します。たとえば、title属性を選択して、各インデックスドキュメントのタイトルを抽出するルールを定義します。

Value type

構成するルールのタイプ。以下を使用できます。

  • Fixed - この属性を持つすべてのドキュメントに固定値を追加します。

  • Expressions - にJSONPath式をSelectorsに入力します。

Selectors

Sitecore Searchドキュメントに属性タグを追加するときに使用するルール。これは、Value typeドロップダウンメニューでExpressionsを選択すると表示されます。

JSONPath EXPRESSIONを追加し、必要に応じてDEFAULT TO値を追加します。

属性に対して複数のセレクターを定義できます。これは、ソースコンテンツに異なるコンテンツ配置がある場合に便利です。複数のセレクターがある場合、Searchは先頭から開始し、セレクターが属性値を返すまでセレクターを実行します。

たとえば、description属性を抽出するとします。一部のcontent itemsでは、次のJSONPath式を使用する必要がある場合があります。

..placeholders['headless-main']..fields.Description.value

他のcontent itemsの場合は、次のJSONPath式を使用する必要がある場合があります。

..placeholders['headless-main']..fields.Text.value

CSSドキュメント抽出ツールの使用

CSSクエリを使用して属性値を抽出する場合は、CSSドキュメント抽出器を使用します。XPathで抽出できるHTMLタグとは異なり、CSSタグはページソースに表示されません。たとえば、タイトルや画像はCSSタグ内にある場合があります。

手記

CSSドキュメント抽出器は、高度なWebクローラー ソースで使用できます。

CSS式を使用して属性を抽出するには、次の設定を使用します。

設定

形容

Tag

Source Settings > Tags Definitionsで定義したエンティティベースのタグ。

Localized

このドキュメントが複数のロケールで利用できるかどうか。

この属性は、ドメインに複数のロケールがある場合にのみ表示されます。

Attribute

値を抽出する属性。ドメイン設定時に定義した属性をAdministration > Domain Settingsセクションで選択します。

Value type

構成するルールのタイプ。以下を使用できます。

  • Fixed - この属性を持つすべてのドキュメントに固定値を追加します。

  • Expressions - 属性値を抽出する式を入力します。

Selectors

Sitecore Searchドキュメントに属性タグを追加するときに使用するルール。これは、Value typeドロップダウンメニューでExpressionsを選択すると表示されます。

CSS EXPRESSIONDEFAULT TO値を追加します。例えば

属性に対して複数のセレクターを定義できます。これは、ソースコンテンツに異なるコンテンツ配置がある場合に便利です。

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