インデックスプロパティストア

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

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

インデックスプロパティストアは検索インデックスのメタデータを永続化します。例えば、最後に更新されたタイムスタンプはインデックスプロパティストアにあります。

インデックスプロパティストアはSitecore.ContentSearch.Lucene.DefaultIndexConfiguration.configファイルのsitecore/contentSearch部分で設定します。Sitecoreに付属する構成は以下の通りです:

$(1) core

このインデックスプロパティストア構成は、Sitecoreデータベースのプロパティテーブルを永続ストアとして使い、coreデータベースを使用します。

各インデックスにインデックスプロパティストアを割り当てる構成は以下の通りです:

$(id) $(id)

最初のparam1属性を $(id) に設定するか、それに似たような設定をしなければなりません。すべてのインデックスで一意でなければなりません。

インデックスプロパティストアはキー/値ベースのストレージです。キーはマスターキーと保存すべきレコードキーで構成されています。

マスターキーは構成によって異なります。上記の例では、databasePropertyStore定義ノード($(1))のKeyパラメータが参照される最初のパラメータdatabasePropertyStore取得します。

このレコードは 要素で定義されているため、$(id) の値はcontentとなります:

これがdatabasePropertyStoreキーがすべてのインデックスで一意であることを保証する方法です。また、マスターキーにInstanceNameを付け加えることで、すべての環境でキーが一意であることを保証します。

上記の構成を使えば、次のコードでカスタムプロパティをインデックスプロパティストアに保存できます:

index.PropertyStore.Set("docs-count", "123");

値123は、次のようなキーで保存されます: content_CM01_docs-count、ここでcontentはインデックスID、CM01はSitecoreインスタンス名です。

カスタムインデックスプロパティストア

Sitecoreが提供する実装が使えない場合は、IIndexPropertyStoreインターフェースを実装してカスタムインデックスプロパティストアの実装を作成できます。

このインターフェースを実装したら、構成内で定義し、インデックスに割り当てる必要があります。例えば、構成の 部分で定義しなければなりません。

$(1) $(dataFolder)/indexpropertystore ... $(id) $(id)
この記事を改善するための提案がある場合は、 お知らせください!