indexプロパティ ストア
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
indexプロパティ ストアは、検索インデックスの一部のメタデータを保持します。たとえば、最後に更新されたタイムスタンプはインデックス プロパティ ストアにあります。
indexプロパティ ストアは、Sitecore.ContentSearch.Lucene.DefaultIndexConfiguration.configファイルのsitecore/contentSearch部分で構成します。Sitecoreで提供される設定は次のようになります。
このインデックス プロパティ ストア設定では、Sitecoreデータベース内のPropertiesテーブルを永続ストアとして使用し、coreデータベースを使用します。
indexプロパティstoreを各インデックスに割り当てるには、次の構成を使用します。
最初のparam1属性を $(id) またはそれに類するものに設定する必要があります。これは、すべてのインデックスで一意である必要があります。
インデックス プロパティ ストアは、キー/値ベースのストレージです。キーは、マスター・キーと、保存する必要があるレコードのキーで構成されます。
マスターキーは設定によって異なります。上記の例では、databasePropertyStore定義ノード(<Key>$(1)</Key>)のKeyパラメータは、databasePropertyStoreが参照されている場所から最初のパラメータを取得します。
<param desc="propertyStore" ref="contentSearch/databasePropertyStore" param1="$(id)" />
このレコードは <index /> 要素で定義されているため、$(id) の値は次のcontentになります。
<index id="content">
このようにして、databasePropertyStoreはキーがすべてのインデックスで一意であることを保証します。また、マスター キーにInstanceNameが追加されるため、キーがすべての環境で一意であることが保証されます。
上記の構成では、次のコードを使用して、カスタム プロパティをインデックス プロパティ ストアに保存できます。
index.PropertyStore.Set("docs-count", "123");
値123は、次のようなキーで保存されます: content_CM01_docs-countここで、contentはインデックスID、CM01はSitecoreインスタンスの名前です。
カスタム インデックス プロパティ ストア
カスタム インデックス プロパティ ストア
Sitecoreが提供する実装を使用できない場合は、IIndexPropertyStoreインターフェイスを実装することで、カスタム インデックス プロパティ ストアの実装を作成できます。
このインターフェースを実装したら、設定で定義し、インデックスに割り当てる必要があります。これは、次のように、コンフィギュレーションの <contentSearch /> 部分で定義する必要があります。