新しいドキュメント抽出器を渡すことによるインデックス文書の作成

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

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

取り込みAPIを使用してインデックスドキュメントをpullソースまたはpushソースに追加する場合、属性を抽出するための一時 ドキュメント抽出ツール を作成できます。

ドキュメント抽出ツールは、取り込みAPIリクエストの一部として渡されるため一時的なものですが、Searchでは保存されません。つまり、同じエクストラクタを使用して複数のインデックスドキュメントを作成する場合は、呼び出しごとにエクストラクタ全体を渡す必要があります。

ユースケースに応じて、新しいドキュメント抽出ツールを使用して、ファイルまたはURLからインデックスドキュメントを作成できます。

  • ファイルからインデックス文書を作成するには、{base-URL}/ingestion/v1/domains/{domainID}/sources/{sourceID}/entities/{entityID}/file/{documentID}?locale={locale}をPOST呼び出します。このエンドポイントは、呼び出し元のマシン上のファイルからインデックス ドキュメントを作成する場合に使用します。リクエストでは、インデックスを作成するファイルへのパス ( /Users/Jane/Documents/Summer/summer_activites.pdfなど) を渡します。Sitecore Searchファイルにアクセスし、属性値を抽出し、ファイルを表すインデックス ドキュメントを作成します。

  • URLからインデックス文書を作成するには、{base-URL}/ingestion/v1/domains/{domainID}/sources/{sourceID}/entities/{entityID}/url/{documentID}?locale={locale}をPOST呼び出します。リクエストでは、インデックスを作成するURL ( https://www.sitecore.com/productsなど) を渡します。Sitecore Search URLにアクセスし、属性値を抽出し、URLを表すインデックスドキュメントを作成します。

メモ

取り込みAPIを使用して、高度なWebクローラーなどのプル ソースにインデックス ドキュメントを追加する場合は、新しいドキュメント抽出ツールを作成するか、既存のドキュメント抽出ツールを使用できます。

インジェストAPIを使用してインデックス ドキュメントをAPIプッシュ ソースに追加する場合は、新しいドキュメント抽出ツールを作成する必要があります。これは、SearchのAPIプッシュソースはプレースホルダインデックスのみを作成するためであり、このソースタイプではドキュメント抽出器の設定ができないためです。

SwaggerリファレンスView詳細なデータモデルを確認し、エクストラクタロジックを渡す方法の詳細についてはドキュメントエクストラクタリファレンスを参照してください。

ドキュメント抽出ツールとインジェストAPI

ドキュメント抽出器は、URLから属性値を抽出する方法を定義する一連のルールです。オリジナルコンテンツの種類に応じて、XPathJavaScriptJSONPath、またはCSSを使用してルールを作成できます。

Ingestion APIを使用して新しいドキュメント抽出ツールを作成する場合は、リクエスト内の属性抽出ロジックを 特定の形式の文字列として渡します。

先端

管理者は、Sitecore Searchインターフェイスを使用して、ローカライズされたコンテンツの抽出ツールを含むドキュメント抽出ツールを設定します。一部のUIベースの手順では、インジェストAPI要求の本文に追加するコードに類似したコードを追加します。

ドキュメント抽出ツールの概念を理解し、コードサンプルを表示するには、ドキュメント を読むことをお勧めします。

例1: ファイルからインデックス ドキュメントを作成する

この例では、JavaScriptドキュメント抽出ツールを使用して、/Users/Jane/Documents/Summer/summer_activites.pdfで入手できるマシン上のファイルからインデックスドキュメントを作成します。 type属性とproduct属性は固定値を持ちますが、他のすべての属性については、JavaScriptを使用して属性値を抽出するドキュメント抽出器を定義する必要があります。これを行うにはPOST、{base-URL}/ingestion/v1/domains/{domainID}/sources/{sourceID}/entities/{entityID}/file/{documentID}?locale={locale}

POST cURL呼び出しの例を次に示します。

curl --location '{base-url}/ingestion/v1/domains/{{domain}}/sources/{{source}}/entities/{{entity}}/file/{{documentId}}?locale={{locale}}' \ 

--form 'file=@"/Users/Jane/Documents/Summer/summer_activites.pdf"' \ 

--form 'fields="{\"items\": {\"type\":\"pdf\",\"product\":\"kids\"}}"' \ 

--form 'extractor="{\"type\": \"js\", \"source\": \"function extract(request, response) { $ = response.body; title = $('\''title'\'').text(); description = $('\''body'\'').text().replace(/(\\\\r\\\\n|\\\\n|\\\\r)/gm, '\'' '\'').replace(/ +/g, '\'' '\'').replace(/\\\\.+/g, '\''.'\'').substring(0, 7000); return [{ '\''title'\'': title, '\''description'\'': description }]; }\"}"' 

要求が成功すると、次の本文で200応答が返されます。

{
    "enqueued": true
}

応答では、enqueuedは、Searchがこのドキュメントをインデックス作成キューに追加したことを意味します。数分後、SearchのContent Collectionセクションに新しいドキュメントが表示されます。

例2: URLからインデックス ドキュメントを作成する

この例では、XPathドキュメント抽出ツールを使用してwww.mybank.com/mortagages/fixed 、URLからインデックスドキュメントを作成します。 type属性とname属性の値は固定されますが、XPath式を使用してtitleimage_urlの属性値を抽出するドキュメント抽出器を定義する必要があります。これを行うには、{base-URL}/ingestion/v1/domains/{domainID}/sources/{sourceID}/entities/{entityID}/url/{documentID}にPOST呼び出しを行います。

POST cURL呼び出しの例を次に示します。

curl --location '{{host}}/ingestion-api/v1/domains/{{domain}}/sources/{{source}}/entities/{{entity}}/url/{{documentId}}?locale={{locale}}' \  

--form 'url=@"www.mybank.com/mortagages/fixed"' \ 

--form 'fields="{\"items\": {\"type\":\"Mortages\",\"name\":\"Fixed mortgages \"}}"' \ 

--form 'extractor={"type":"xpath","rules":{"title":{"selectors":[{"expression":"//meta[@property=\'dozen:page:id\']/@content"}]},"image_url":{"selectors":[{"expression":"//meta[@property=\'og:image\']/@content"}]}}}'

要求が成功すると、次の本文で200応答が返されます。

{
    "enqueued": true
}

応答では、enqueuedは、Searchがこのドキュメントをインデックス作成キューに追加したことを意味します。数分後、このドキュメントがSearchのContent Collectionセクションに表示されます。

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