Sitecore.Commerce.Plugin.Search.AbstractAsyncIndexFieldHandlerクラス
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Sitecore.Commerce.Plugin.Search.AbstractAsyncIndexFieldHandlerクラスは、パイプラインを呼び出すことができる非同期のCompose Valueメソッド (ComposeValueAsyncメソッド) を実装する検索フィールド ハンドラーを定義します。この基本フィールド ハンドラー クラスをカスタム フィールド ハンドラーで使用できるのは、リアルタイムのフィールド値をインデックス化する必要がある場合の例外的なケースです。
Commerce Engineは、デフォルトではこのインデックス フィールド ハンドラを使用しません。標準で提供されているデフォルトのインデックス フィールド ハンドラーは、Sitecore.Commerce.Plugin.Search.AbstractIndexFieldHandlerクラスに基づいています。
パイプラインを非同期に呼び出すインデックス フィールド ハンドラーは、特に大規模なカタログやマッピング テーブルを使用するデプロイで、インデックス作成のパフォーマンスに悪影響を与える可能性があります。可能な限り、カスタムフィールドハンドラにAbstractIndexFieldHandlerクラスを使用することをお勧めします。
次に、Sitecore.Commerce.Plugin.Search.AbstractAsyncIndexFieldHandlerの例を示します。
Sitecore.Commerce.Engine.SDKには、ComposeValueAsyncメソッドを使用してパイプラインを呼び出す方法を示すサンプルParentCategoryDisplayNameHandlerフィールド ハンドラーが含まれています。サンプル ハンドラー クラスは、Customer.SampleSolutionファイルのscr/Plugin.Sample.Habitat/Searchフォルダーにあります。
Sitecore.Commerce.Plugin.Search.AbstractAsyncIndexFieldHandlerクラスでは、次のようになります。
-
ComposeValueのsource引数は、処理中のエンティティへのアクセスを提供します。
-
contextディクショナリには、エンティティの階層的な場所、言語、エンティティが属するカタログ、現在の言語などに関する詳細情報が表示されます。次の表に、キーと値の説明を示します。
鍵
価値
CommerceContext
現在の環境に関する情報を提供するコマース コンテキスト。
SitecoreItemSearchScopePolicy
検索スコープ・ポリシーは、ターゲット・インデックスに関する情報を提供します。
LanguageCode
言語コード。
Parent
直接の親エンティティのID。
MappedCatalog
このエンティティが属するカタログに関する高レベルの情報を提供します。
EntityHierarchy
アイテムに関する階層情報。指定されたアイテムへのパス全体へのアクセスを提供します。
IndexingOptions
現在のインデックス作成操作に関する情報。ターゲット・データベース名へのアクセスを提供します。
DeterministicId
データ プロバイダーでSitecoreアイテムIDとしても使用されるエンティティの一意のID。