---
title: "JSONPath document extractorを作成してください"
slug: "create-a-jsonpath-document-extractor"
abstract: "Sitecore SearchのAPIクローラーソースのドキュメントエクストラクタを作成する際は、JSONPath式を使って属性値を抽出してください。タグ、ルール、URLマッチングを活用してください。"
---
# JSONPath document extractorを作成してください

XPathのドキュメントエクストラクタを作成して、Sitecore Searchソースの属性値を抽出したい場合にしてください。

JavaScript関数とURLをマッチングするJSONPath文書エクストラクタを作成するには:

1.  メニューバーで「 **Sources**」をクリックしてください。
    
2.  作成したソースを選択します。
    
3.  **ソースSettings**ページで**、ドキュメント抽出器**の横に「**編集**![pencil\_grey.png](https://doc.sitecore.com/api/markdown-image/search/ja/users/search-user-guide/images/pencil_grey.png)」をクリックします。
    
4.  [ドキュメントエクストラクター](https://doc.sitecore.com/search/ja/users/search-user-guide/index-items/additional-configurations-and-settings/configuring-document-extractors.html "Configuring document extractors")を作成するには、**ドキュメントエクストラクター**のページで:
    
    -   **名前**欄に抽出器の意味のある名前を入力します。
        
        例えば、*Sitecore cloud*を入力します。
        
    -   **エクストラクタータイプ**ドロップダウンメニューで**JSONPath**をクリックします。
        
    -   オプションとして、このエクストラクタのロジックが特定のパターン[に一致するURL](https://doc.sitecore.com/search/ja/users/search-user-guide/index-items/additional-configurations-and-settings/configuring-document-extractors.html#UUID-f9b686c5-2e0d-dee3-93fc-9d567475afee_section-idm4597072673881633832915676016 "URLs to match")にのみ適用されるようにするために、**URLを「Match**」に設定してください。これを行うには、「**URLs To Match**」フィールドで「**Add Matcher**」をクリックし![Plus\_add\_\_grey.png](https://doc.sitecore.com/api/markdown-image/search/ja/users/search-user-guide/images/Plus_add__grey.png) 「Add Matcher」をクリックし、使いたい式の**タイプ**を選択し、その式の**値を**入力してください。
        
        例えば、**TYPE**ドロップダウンメニューで**JS**をクリックし、次の式を入力してJavaScriptを使えば、エクストラクタがリアクションのリアクションがbody.data.item.renderedの値を持つAPIエンドポイントからのみ属性を抽出するようにします。
        
        function match(request, response) {
         return response.body.data.item.rendered != null &&
         response.body.data.item.rendered.sitecore.route.placeholders'headless-main'.length > 0;
        }
        
5.  タグ**付け**セクションで「**タグ付け追加**」をクリックします。その後、タグエディター**のタグドロップダウン**[メニューでタグ](https://doc.sitecore.com/search/ja/users/search-user-guide/index-items/additional-configurations-and-settings/crawler-tags.html "Crawler tags")を選択します。例えば、*コンテンツ*を選択します。
    
    > !注ドキュメントエクストラクタでは、それぞれがユニークなタグにリンクされた複数のタグガーを作成できます。このようにして、各タグ付け者は以下の通りになります:
    > 
    > -   索引文書のセットを生成します。
    >     
    > -   複数のルールを持つことができ、それぞれのルールが1つの属性の抽出ロジックを定義します。
    >     
    > 
    > 例えば、5つのルールを持つタグ付け器は、それぞれ*5*つの属性を持つ*1*つの文書セットを生成します。
    > 
    > 3つのタグ付け器でそれぞれ1つのルールを持つと、それぞれ*1つの*属性を持つ*3*つの文書セットが得られます。
    
6.  タグエディターで、属性を抽出するために以下の詳細を入力してください:
    
    -   **Attribute**ドロップダウンメニューで、設定したい属性をクリックします。
        
        例えば、「 **説明」**をクリックします。
        
    -   **「Value」**タイプのドロップダウンメニューで、属性値を固定値にするか式にするかを選択します。
        
        例えば、「 **表現」**をクリックします。
        
    -   **EXPRESSION**フィールドにJSONPath式を入力し、属性値が得られます。
        
        例えば、..placeholders'headless-main'..fields.Descriptionキーの から*から description*の値を得るには、enterを
        
        ..placeholders'headless-main'..fields.Description.value
        
7.  オプションで、属性値を取得する複数の方法を設定するには、「**選択機能を追加**![Plus\_add\_\_grey.png](https://doc.sitecore.com/api/markdown-image/search/ja/users/search-user-guide/images/Plus_add__grey.png)」をクリックします。次に、2つ目のセレクターの**Expression**フィールドに、属性値を生成するJSONPath式を入力します。
    
    例えば、2つ目の選択肢として、..placeholders'headless-main'..fields.Textタグから*description*の値を取得したいです。これを取得するには、次のJSONPath式を入力します。
    
    ..placeholders'headless-main'..fields.Text.value
    
    > !注複数のセレクタがある場合、Searchはそれらを時系列順に実行し、結果を出す式に到達したところで停止します。
    
8.  他の属性の抽出方法を設定するには、「**ルール![Plus\_add\_\_grey.png](https://doc.sitecore.com/api/markdown-image/search/ja/users/search-user-guide/images/Plus_add__grey.png)を追加**」をクリックし、ステップ5と6を繰り返してください。
    
    例えば、*説明* 属性の抽出方法を設定したら、*タイトル*、*サブタイトル*、*画像* 属性の抽出方法を設定できます。
    
9.  タグエディターで「 **保存**」をクリックします。
    
10.  (任意)別のタグの属性を抽出するには、タグ**付け![Plus\_add\_\_grey.png](https://doc.sitecore.com/api/markdown-image/search/ja/users/search-user-guide/images/Plus_add__grey.png) 追加**ボタンをクリックし、**タグ**のドロップダウンメニューでタグをクリックしてステップ5から8までを繰り返してください。
     
11.  **ドキュメント抽出器**のページで、**保存**をクリックします。