Note
Azure AI 検索は、Azure ポータル、REST API、およびAzure SDKから使用できます。 また、Foundry IQ は、エンタープライズ コンテンツを、Microsoft Foundry ポータルのエージェントの再利用可能なアクセス許可に対応したナレッジ ベースに変換するマネージド ナレッジ レイヤーです。
重要
機能、またはマークされたプロパティ (プレビュー) は、サービス レベル アグリーメントの対象ではなく、運用環境のワークロードには推奨されず、一般公開される前に変更または制約される可能性があります。 Azure AI 検索 プレビューの用語は、スタンドアロンでも一般公開されている機能の一部でも、すべてのプレビュー機能に適用されます。
この記事では、毎回完全なリビルドを行わずにダウンストリーム エンリッチメントステップを変更できるように、スキルセット パイプラインにキャッシュを追加する方法について説明します。 エンリッチメント キャッシュ (プレビュー) には、 プレビュー REST API が必要です。 既定では、スキルセットはステートレスであり、構成の任意の部分を変更するにはインデクサーの完全な再実行が必要です。 エンリッチメント キャッシュでは、インデクサーは、スキルセットまたはインデクサー定義の変更に基づいて、ドキュメント ツリーのどの部分を更新する必要があるかどうかを決定します。 インデクサーは、可能な限り既存の処理された出力を保持し、再利用します。
指定した接続文字列を使用して、キャッシュされたコンテンツをAzure Storageに配置します。 インデクサーは、実行時にこれらのオブジェクトを作成します。 エンリッチメント キャッシュは、変更してはならない検索サービスによって管理される内部コンポーネントと考えてください。
重要
エンリッチメント キャッシュは、スキルセットの出力、インデクサーの状態、またはインデックス付きドキュメントのバックアップではありません。 処理を完了したドキュメントは追跡されません。 大規模なデータ ソースの場合は、キャッシュを有効にする前に 制限事項に関 するセクションを確認してください。
- 名前付きコンテナー
ms-az-search-indexercache-<alpha-numeric-string> - 名前付きテーブル
MsAzSearchIndexerCacheIndex<alpha-numeric-string>
前提 条件
キャッシュされたエンリッチメントを格納するためのAzure Storage。 ストレージ アカウントは 汎用 v2 である必要があります。
BLOB インデックス作成の場合のみ、データ ソースから BLOB を削除するときにキャッシュとインデックスの両方からドキュメントを同期する必要がある場合は、インデクサーで 削除ポリシー を有効にします。 このポリシーがないと、キャッシュからのドキュメントの削除はサポートされません。
インデクサーとスキルセットの設定に慣れている必要があります。 インデクサーの概要から始めて、スキルセットに進み、エンリッチメント パイプラインについて学習します。
制限
注意
SharePoint インデクサー (プレビュー) を使用している場合は、インクリメンタル エンリッチメントを避けてください。 特定の状況では、キャッシュが無効になります。 再読み込みするには、 インデクサーのリセットと完全なリビルドを実行します。
大規模なデータ ソースには、追加のキャッシュ制限があります。
注意
大規模なデータ ソースの場合、エンリッチメント キャッシュは、実行時間の長いスキル、繰り返し中断、または頻繁なスキルの失敗が発生したときに、再処理の合計を増やすことができます。 インデクサーは再処理を最小限に抑えるよりも正確性に優先順位を付けるので、繰り返し中断されたキャッシュ バックログによって再試行動作が増幅されます。 この動作は、バグではなく想定されています。
増加するキャッシュ バックログから復旧するには、データ ソースをより小さなコンテナーまたは仮想フォルダーにパーティション分割します。 次に、同じインデックスを指す 並列インデクサー を使用します。 キャッシュの関連付けを解除するには、インデクサーで cache プロパティを null に設定します。 パーティション分割パターンのガイダンスについては、 大きなデータ セットのインデックス 作成を参照してください。
アクセス許可
Azure AI 検索 ID には、Azure Storageへの書き込みアクセス権が必要です。
- ストレージ BLOB データ寄稿者
- ストレージ テーブル データ共同作成者
接続文字列構文は、システム割り当て ID とユーザー割り当て ID のどちらを使用するかを決定します。 詳細については、「マネージド ID を使用してAzure Storageに接続するを参照してください。
キャッシュ プロパティを設定する
新規インデクサーと既存のインデクサーの両方に対して、この手順を使用します。
インデクサー定義で、次の cache を設定します。
- (必須)
storageConnectionStringをAzure Storage 接続文字列に設定します。 - (省略可能)
enableReprocessing(既定ではtrue)。 インクリメンタル エンリッチメントを一時的に中断するようにfalseに設定し、後でtrueに切り替えます。
左側で、[ インデクサー] を選択します。
[ インデクサーの追加] を選択して新しいインデクサーを作成するか、JSON 編集モードで既存のインデクサーを開きます。
インクリメンタル エンリッチメントを有効にし、エンリッチメント キャッシュ ストレージ アカウントを設定して、インデクサーを保存します。
Azure ポータルのエンリッチメントキャッシュオプションのスクリーンショット インデクサーが既に存在する場合はリセットします。
インデクサーを実行します。 この 1 回限りの完全リビルドにより、キャッシュがシードされます。 読み込まれた後、増分再利用は後続の実行に適用されます。