更新できるレコードおよびプロパティについて

既存のデータ・ドメインのスキーマと構成の一部は、パフォーマンスに影響を与えずに実行中のデータ・ドメインで更新できますが、その他の変更はパフォーマンスに影響を及ぼすことがあります。さらに、データ・ドメインの構成とスキーマには、データ・レコードをロードする前にしか変更できないものやまったく変更できないものも少数あります。このトピックはこれらのカテゴリの説明を含み、データのロードとデータ・ドメインの構成に関する意思決定に役立ちます。

ここでは、システム・レコード(または構成の他の部分)のどのプロパティをどのような条件で変更できるかを示す詳しいリストは記載しません。かわりに、基本原則について説明して次の質問に答えられるようにします。
  • 実行中のデータ・ドメインでの更新がサポートされているのはいつですか。制限はありますか(変更できるのはデータ・レコードがロードされる前だけなど)。
  • 更新の影響(パフォーマンスの影響を含む)は何ですか。また、索引にはいつ反映されますか。たとえば、変更のためにEndeca Serverがデータ・ドメインの再索引付けをしているとき、問合せ結果の取得が遅くなりますか。
このような質問に答えるには、Endeca Serverがデータ・ドメインのレコード構成のナレッジをどのように保守しているかを理解することが役立ちます。Endeca Serverにロードされるレコードの様々な特性は次のように制御されます。
  1. 索引

    ソース・レコードがEndeca Serverにロードされると、内部索引が作成されます。最初の索引付けの際に、ソース・レコードは初期レコードとシステム・レコードを利用します。これらのレコードが一緒に、ロードされたソース・レコードのスキーマを形成します。各初期レコードはシステム・レコードのベースとして使用され、システム・レコードの各属性は特定の構成設定を表します。こうして、索引がソース・レコードに基づいて作成されると、レコードの様々な面を制御する設定がすでに含まれています。

    スキーマに影響する項目を変更すると、Endeca Serverによってレコードの再索引付けが行われます。レコードの再索引付けを引き起こす変更の例としては、レコードの検索可能な属性の変更、言語値の変更および検索文字の変更があります。これらの設定が変更されると、Endeca Serverはデータ・ドメインの索引を再作成する必要があります。

    次の表に示す項目は、変更によってパフォーマンスのコストが発生する例です。ロードされたレコードの部分的または全面的な再索引付けのためです。
    項目 説明および変更に関する制限(存在する場合)
    mdex-property_IsTextSearchable 属性が検索可能かどうかを指定します。この変更に関する制限はありませんが、string型の属性しか変更できません。レコードに多くの割当てがある属性でこの変更を行うと、索引の再作成のためにパフォーマンスのコストが発生します。
    mdex-property_TextSearchAllowsWildcards 属性のテキスト検索でワイルドカードを使用できるどうかを決定します。パフォーマンスのコストが発生します。この設定の変更に関する制限は、mdex-property_IsTextSearchabletrueに設定する必要があることです。
    mdex-property_IsPropertyValueSearchable 属性の値検索に影響します(パフォーマンスのコストが発生します)。パフォーマンスのコストが発生します。この属性の値の変更は、string型の属性でしか許可されていません。
    mdex-property_Language 属性の言語IDを指定します。パフォーマンスのコストが発生します。変更できるのは、string型の属性のみです。これらの変更に関する他の制限はありません。
    mdex-config_EnableValueSearchWildcard この設定はグローバル構成レコードに含まれます。値検索でワイルドカードを使用できるかどうかを決定します。パフォーマンスのコストが発生します。このような変更に関する制限はありません。

    mdex-config_SearchChars

    検索文字を指定します。パフォーマンスのコストが発生します。このような変更に関する制限はありません。
  2. その他の構成設定。構成の設定で索引に影響しないものでも、問合せの処理方法に影響を及ぼす可能性があります(結果に返されるレコードの属性が、内部値の他に表示名を含むかどうかなど)。このカテゴリの変更は、再索引付けを引き起こさないため、パフォーマンスのコストは生成しません。このような変更は、後続の問合せ(変更がEndeca Serverに発行された後に処理される問合せ)に影響します。
    パフォーマンスのコストを生成しない変更の例を次に示します。
    項目 変更に関する制限(存在する場合)

    system-navigation_Sorting

    system-navigation_ShowRecordCounts

    system-navigation_Select

    レコードのソート方法、レコード数が表示されるかどうか、または絞込みの選択方法(1つまたは多数)を変更できます。このような変更に関する制限はありません。

    mdex-property_DisplayName

    mdex-property_Key

    属性の表示名または標準属性の名前を変更できます。このような変更に関する制限はありません。
    mdex-dimension_EnableRefinements 管理属性の絞込みを表示するかどうかを変更できます。この変更に関する制限はありません。
    mdex-config_Spelling* 様々なスペル設定を変更できます。スペルの値を負の数にすることはできません。この変更を有効にするには、スペル辞書を更新するためにendeca-cmdコマンドを実行する必要があります。
    mdex-precedenceRule_* 様々な優先順位ルール設定を変更できます。このような変更に関する制限はありません。
  3. 例外。前の2つのカテゴリにはいくつかの例外があります。スキーマや構成の多様な設定の中には、様々な理由から、システム・レコードの割当てが存在する前にのみ変更できるもの、まったく変更できないもの、または一度追加されると削除できないものがあります。これらの例外を次に示します(これは完全なリストではありません)。
    項目 変更に関する制限(存在する場合)

    mdex-dimension_IsDimensionSearchHierarchical

    mdex-dimension_IsRecordSearchHierarchical

    レコード検索および属性検索の階層設定を変更できるのは、レコードをロードする前だけです。
    mdex-property_IsUnique この属性の割当てが一意かどうかを決定します。これを変更できるのは、レコードの割当てが存在していない場合のみです(一般的には、データ・レコードがまだロードされていないが、スキーマ・レコードがすでに索引に存在しているとき)。また、trueに設定した場合、mdex-property_IsSingleAssigntrueに設定する必要があります。
    mdex-property_IsSingleAssign 1つの属性から最大で1つの値をレコードに割り当てられるか、複数の値をレコードに割り当てられるかを決定します。変更できません。
    一意とマークされた属性の削除 一意とマークされた属性への割当てを含むレコードは削除できません。通常、一意とマークされた属性を削除できるのは、データ・レコードをロードする前だけです。

    mdex-config_SystemRecordVersion

    mdex-property_Type

    mdex-dimension_Key

    mdex-config_Key

    これらの項目は、属性の型を含め、決して変更できません。
    管理属性の値 追加できますが、追加してから削除または変更することはできません。