Sitecore SearchはアクティブにIngestion APIの問題を監視・解決しています。カスタマー エンゲージメント コンソール(CEC)において、時折APIプッシュ ソース配下にIngestion APIのエラーがリスト アップされることがあります。この際にセルフサービスで実施できる調査の手順がいくつかあります。
Ingestion APIはacknowledgement ID(確認ID)のようなものであるincremental_update_idを返しますが、これはシステム内でアップデートが行われたことを意味しません。
アップデートの状態を確認するには、ステータス エンドポイントを使用できます。
解決策
プッシュ リクエストの作成中にAPIでインクリメンタル アップデートの状態を確認するには、以下を実施します。
curl --location 'https://<base-url>/ingestion/v1/domains/<domain-id>/sources/<source-id>/entities/<entity>/status/<incremental_update_id>' \ --header 'Content-Type: application/json' \ --header 'Authorization: <API_KEY>'
レスポンスの例:
{"status":"finished"}
または
Response empty then request is not found in our system please retry. (レスポンスが空のためリクエストがシステム内で見つかりません。リトライしてください。) {}
プッシュAPIソースの作成後にロケールをいくつか追加すると、ドキュメントのインジェストがいくつか失敗する可能性があります。初期のAPIプッシュのセットアップでは、ソース作成後にロケールが追加されることを考慮していませんでした。
解決策
この問題の影響を緩和するには、エラーを表示している現在のソースをアーカイブし、初期のソースのセットアップで定義されているすべてのロケールでソースを再作成します。
説明
効率性を実現するため、インクリメンタル アップデートはバッチで処理されています。全体を通して、ジョブのステータスに「failed」があると、そのバッチの全てのアップデートが失敗します。メトリックとURL詳細はバッチ内で実行される様々な手順の積み重ねであるため、ジョブ全体が失敗していると、URL詳細が「Successfully indexed」であっても、成功していないこととなります。この点については、各インクリメンタル アップデートの実際のステータスが表示されるように、将来的に改良することを計画しています。なお、ステータス エンドポイントは各インクリメンタル アップデートの正しいステータスを提供します。