チュートリアル: Ingestion APIを使用して2つのロケールでインデックス ドキュメントを作成および更新する

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

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

管理者がSitecore SearchでAPIプッシュソースを設定した後、取り込みAPIを使用して、そのインデックスにドキュメントを追加し、後でドキュメントを更新または削除できます。

メモ

このチュートリアルでは、属性値を渡してインデックス ドキュメントを作成する方法について説明します。ドキュメント抽出ツールを渡してインデックスドキュメントを作成することもできます。

このチュートリアルでは、次のシナリオで インジェストAPIを使用する方法について説明します。

  • 英語 (en_us) とフランス語 (fr_fr) のロケールでドキュメントを作成する必要があります。フランス語文書は英語文書を翻訳したものです。

    手記

    管理者がAPIプッシュソースを2つのロケールを持つように構成しているため、2つのロケールで索引文書を作成できます。

  • 各ドキュメントにIDtitledescriptionimage_url、およびcontent_type属性を持たせたいと考えています。

このチュートリアルでは、次の方法について説明します。

  • Ingestion APIを使用して、2つのロケールでインデックス ドキュメントを作成します。

  • Ingestion APIを使用して、両方のロケールでインデックス ドキュメントを編集します。

始める前に

管理者が次の操作を行っていることを確認します。

  • Searchで、作成するインデックスドキュメントに必要なすべての属性を追加します

  • ENABLE INCREMENTAL UPDATESをオンにしてソースを作成して公開します。このソースのIDは、取り込みAPI呼び出しで使用します。

    手記

    この前提条件は、ソースがAPIプッシュソースの場合には適用されません。

  • ingestionスコープのAPIキーを取得します。このAPIキーは、SearchのDeveloper Resources > API Access項目で確認できます。

    手記

    この前提条件は、実装でサブドメインを使用する場合には適用されません。

Ingestion APIを使用して、2つのロケールでインデックス ドキュメントを作成する

Ingestion APIを使用してドキュメントを作成するには、Create DocumentエンドポイントでPOSTメソッド を使用し、必要なパラメーターをすべて渡します。英語 (US) ドキュメントとフランス (FR) ドキュメントの2つの呼び出しを行い、両方のドキュメントに同じドキュメントIDを渡すようにします。

手記

同じコンテンツでロケールが異なるドキュメントのインデックスには、常に同じIDを割り当てます。これにより、ピン留め、ブースト、埋め込みなどのルールがすべてのロケールに適用されます。

Ingestion APIを使用してドキュメントを作成するには:

  1. 英語 (US) ドキュメントを追加するには、Create DocumentエンドポイントをPOST呼び出しし 、ロケールをen_usとして指定します。リクエストURLに、プッシュソースのIDとドメインIDを追加します。要求本文に、インデックスドキュメントIDと、インデックスドキュメントに持つ属性を追加します。

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

    curl --location 'https://discover.sitecorecloud.io/ingestion/v1/domains/110525450/sources/879132/entities/content/documents?locale=en_us' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: 01-dsd5-2703c7fb73cfcfd0778dhd439bd9a12444'\
    --data '{
        "document": {
            "id": "push_source_test_123",
            "fields": {
                "title": "English title",
                "description": "English description",
                "type": "blog",
                "image_url": "www.myimage.com",
            }
        }
    }'
  2. フランス語 (FR) ドキュメントを追加するには、Create DocumentエンドポイントをPOST呼び出し 、ロケールをfr_frとして指定します。パスに、プッシュソースのソースID、ドメインID、およびロケールを追加します。要求本文に、インデックスドキュメントIDと、インデックスドキュメントに持つ属性を追加します。

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

    curl --location 'https://discover.sitecorecloud.io/ingestion/v1/domains/110525450/sources/879132/entities/content/documents?locale=fr_fr' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: 01-dsd5-2703c7fb73cfcfd0778dhd439bd9a12444'\
    --data '{
        "document": {
            "id": "push_source_test_123",
            "fields": {
                "title": "French title",
                "description": "French description",
                "type": "blog",
                "image_url": "www.myimage.com"
            }
        }
    }'

Ingestion APIを使用して、両方のロケールでインデックス ドキュメントを編集する

英語 (US) およびフランス語 (FR) の索引ドキュメントを編集して、image_urlwww.myimage.comからwww.newimage.comに変更します。これを行うには、Partial Update DocumentエンドポイントでPATCHメソッド を使用し、両方のロケールをクエリ パラメーターとして渡します。これは1回の呼び出しで実行できます。

CURL呼び出しPATCH例を次に示します。

curl --location 'https://discover.sitecorecloud.io/ingestion/v1/domains/110525450/sources/879132/entities/content/documents/push_source_test_123?locale=en_us&locale=fr_fr' \
--header 'Content-Type: application/json' \
--header 'Authorization: 01-dsd5-2703c7fb73cfcfd0778dhd439bd9a12444'\
--data '{
    "document": {
        "id": "push_source_test_123",
        "fields": {
        "image_url": "www.newimage.com"
        }
    }
}'
この記事を改善するための提案がある場合は、 お知らせください!