文書の部分的な更新

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

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

インジェスションAPIのベースURLのPATCHメソッドを使って、インデックスドキュメント内の1つ以上の属性値を更新してください。

!重要管理者が プル ソースを再クロールする場合、手動または スケジュールされたクロールを通じて、Searchは元のコンテンツの最新データですべてのインデックス文書を更新します。この操作は、Ingestion APIを通じて行った更新が元のコンテンツにも適用されていない場合に上書きします。これを防ぐために、Ingestion APIを通じての変更を加えた元のコンテンツを必ず更新することを推奨します。この同期により、今後のクロールでも変更が維持されます。

インジェスションAPIを使って文書を部分的に更新するには、部分更新ドキュメントエンドポイントにPATCH呼び出しを行います。

このメソッドのデータモデルおよびオブジェクトおよびキーの説明については 、Ingestion API参照を参照してください。 ベースURLはSearchのDeveloper Resourcesセクションで確認できます。

!注PUT (update)メソッドとPATCH (部分的な更新)メソッドは異なります。Sitecore Searchに渡した値ですべてのフィールドを置き換え、パスしなかったフィールドを削除したいときはPUT (update)を使いましょう。Searchにパスしたフィールドを置き換え、他のフィールドをそのままにしたい場合にはPATCHを使います。

例えば、タイトル説明image_URLフィールドを含むインデックスドキュメントが存在します。タイトル説明フィールドのみでPUTコールを通過した場合、Searchはタイトルと**説明フィールドの更新とimage_URLフィールドの削除の2つを前提としています。タイトルと**説明フィールドのみのPATCHコールを通過した場合、Searchこれらのフィールドを更新し、他のフィールドは変更しません。

1つ、一部、またはすべてのロケナルで文書を部分的に更新または削除できます。複数のロケージで文書を更新または削除するには、リクエストURLでアンパサンド(&)で区切られたロカレを渡します。例えば、英語(米国)および日本語(日本)のローカレッジで文書を部分的に更新または削除するには、locale=en_us&locale=ja_jpを使用します。すべてのロケージを部分的に更新または削除するには、locale=allをパスしてください。

複数のローカのインデックス文書は同じインデックス文書IDを共有するため、複数のローカを部分的に更新または削除できます。これにより、ユーザーは重複結果を目にせず、自分のロケ地に関連するコンテンツだけを見ることができます。これはクローラーソースを設定したり、Ingestion APIでドキュメントを作成したりするときに設定します。

例えば、2つのロケーションにあるインデックスドキュメントのimage_url属性を更新したい場合です。

以下はcURL呼び出しPATCH例です:

curl --location 'https:///domains//sources//entities//documents/?locale=&locale=' \ --header 'Content-Type: application/json' \ --header 'Authorization: ' \ --data '{ "document": { "id": "test_id_123", "fields": { "image_url": "www.newimageURL.com" } } }' \ -X PATCH

申請が成功した場合、以下の文200回答が届きます:

{ "enqueued": true }

回答で「 enqueued 」とは、Searchがこの文書をインデックスキューに追加したことを意味します。数分後には、SearchのContent Collectionセクションで更新されたインデックス文書が表示されます。

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