ウォークスルー APIを使った2つのロケーションでのインデックス文書の作成と更新
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
管理者がSitecore SearchでAPIプッシュソースを設定し た後、インジェスションAPIを使ってそのインデックスにドキュメントを追加し、後でドキュメントの更新や削除が可能です。
!注このウォークスルーでは、属性値を渡してインデックス文書を作成する方法を説明します。ドキュメントエクストラクターを渡すことでインデックス文書を作成することもできます。
このウォークスルーでは、以下のシナリオでIngestion APIの使い方を説明します。
-
文書は英語(en_us)とフランス語(fr_fr)のロケーションで作成したいものです。フランス語の文書は英語の文書の翻訳です。
!注インデックス文書を2つのローカルで作成できるのは、管理者がAPIプッシュソースを2つのローカルに設定しているからです。
-
各ドキュメントにはID、タイトル、説明、image_url、content_type属性が入っている必要があります。
このウォークスルーでは、以下の方法を説明します:
- Ingestion APIを使って、2つのローカルでインデックスドキュメントを作成できます。
- Ingestion APIを使って両方のローカルでインデックス文書を編集してください。
!注始める前に管理者が以下のことを行っていることを確認してください:
Searchで、作成予定のインデックス文書に必要なすべての属性 を追加します 。
「ENABLE INCREMENTAL UPDATES」をオンにしてソースを作成・公開します。このソースのIDはIngestion APIコールで使用します。
この前提条件は、ソースがAPIプッシュソースの場合は適用されません。
- ingestionスコープ付きのAPIキーを用意しましょう。このAPIキーは、SearchのDeveloper Resources > API Accessセクションで確認できます。
この前提条件は、実装がサブドメインを使用している場合は適用されません。
Ingestion APIを使って2つのロケールでインデックスドキュメントを作成してください
Ingestion APIで文書を作成するには、Create DocumentエンドポイントのPOSTメソッド を使用し、必要なパラメータをすべて渡してください。英語(米国)の書類とフランス(フランス)の書類の2回の電話をかけ、両方の書類で同じ書類IDを通すようにしてください。
!注同じ内容でも異なる場所の文書には必ず同じIDを割り当ててください。これにより、ピン、ブースト、埋葬などのルールがすべての場所に適用されることが保証されます。
Ingestion APIを使って文書を作成するには:
-
英語(米国)文書を追加するには、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", } } }'
-
フランス語(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を使って両方のローカルでインデックス文書を編集してください
英語(米国)とフランス語(フランス語)のインデックス文書を編集して、*image_urlをwww.myimage.comからwww.newimage.com*に変更したいです。これを行うには、部分更新ドキュメントエンドポイントでPATCHメソッドを使い、両方のロケールをクエリパラメータとして渡します。これは一回の通話で可能です。
以下は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" } } }'