通常、複数の管理属性値を追加します。これらのセットを追加するには、最初に、値を関連付ける管理属性を定義します。次に、管理属性値を追加して、管理属性に関連付けます。
このトピックの手順では、例を利用して、階層を定義する管理属性値のセットの追加方法を示します。例では、親管理属性値USA、管理属性値MassachusettsおよびNew York State、それらの子孫管理属性値BostonおよびNew Yorkを追加することによって、管理属性locationの管理属性値の階層を構築します。
注意: Endeca Serverの2つの異なるWebサービス(構成Webサービスおよびデータ・インジェストWebサービス)を使用して、管理属性値を追加できます。このトピックでは、構成WebサービスのPutManagedAttributeValuesを使用した追加方法について説明します。管理属性値は追加後にデータ・ドメインのEndeca Server索引でレコードとして表されるため、データ・インジェストWebサービスを使用して、データ・レコードの追加前に管理属性値を非データ・レコードとして追加することもできます。詳細は、『Oracle Endeca Serverデータ・ローディング・ガイド』を参照してください。
このトピックで使用する構成Webサービス・リクエストの例は省略されており、ネームスペースが表示されていません。使用されるネームスペースは、xmlns:ns="http://www.endeca.com/MDEX/config/services/types/3/0"とxmlns:ns1="http://www.endeca.com/MDEX/config/XQuery/2009/09"です。
1つ以上の管理属性値を追加する前に、次の要件に注意してください。
- 管理属性は、データ・ドメインの索引に存在する必要があります。つまり、その関連付けられたPDRおよびDDRが作成されている必要があります。DDRが存在しない場合は、管理属性値を追加するのと同じリクエストでDDRを作成できることに注意してください。
- (このトピックの手順で示すように)DDRを作成する場合は、mdex-dimension-value_Parentおよびmdex-dimension-value_Specの値の指定を省略できます(DDRではこれらのプロパティはオプションです)。管理属性のDDRを作成するputDimensionリクエストでこれらの値を明示的に指定しなかった場合、Endeca Serverによって値が自動的に作成され、名前が割り当てられます。たとえば、管理属性locationの親および仕様を指定しなかった場合、mdex-dimension_location_Parentおよびmdex-dimension_location_Specが作成されます。これらのプロパティを指定する場合は、独自の名前を割り当てることができます。これらのプロパティを指定するかどうかにかかわらず、DDRを追加すると、Endeca Serverによって索引内にこれらの各プロパティ用として2つのPDRレコードが作成されます。これらの2つの記述レコードは非データ・レコードを表し、追加された各管理属性値レコードを(仕様でその値を介して)一意に識別する内部構造を提供するために必要であり、さらに階層を(仕様と親属性の両方でその値を介して)定義します。
- 管理属性の最上位の管理属性値を作成する場合は、その親管理属性値に対して記号"/"を指定します。これは、管理属性の作成時にルート管理属性値の仕様も自動的に索引内に作成され、その値が"/"であるためです。
- PutManagedAttributeValuesで管理属性値を追加する場合、その名前、シノニムおよびランク属性はオプションです。他のすべてのパラメータ(仕様、親管理属性値および管理属性仕様)は必須です。
- そのシノニムをオプションで追加できます(これは、Endeca Serverによって検索で使用されます)。すでに追加されている管理属性値ではシノニムを変更または更新できないため、どのシノニムが必要になるかを計画します。後でさらにシノニムを追加する必要が生じた場合は、既存の管理属性を削除し(これにより、関連付けられた管理属性値がすべて削除されます)、新しい値およびシノニムに置き換えます。
- 管理属性値を新しい名前で更新できます。この場合、既存の値にPutManagedAttributeValuesを使用するときに新しい名前を指定すると、値がその名前で更新されます。
- 管理属性値に固定ランクを追加(および更新)することもできます。ランクは、このトピックの例には含まれていません。ランクの追加の詳細は、「ランクの追加と更新」を参照してください。
- 1つの操作で複数の管理属性値を追加できます。ただし、いずれかの値が正しく指定されなかった場合は、Endeca Serverでエラーが発生して構成Webサービス・リクエスト全体が失敗し、どの値も追加されません。
管理属性値のセットを追加する手順:
これで、これらの管理属性値が作成されたので、構成WebサービスのlistManagedAttributeValues操作を使用してそれらをリストできます。