Endecaデータ・ドメイン内のレコードの割当てを変更するには、Modify Recordsコンポーネントを使用します。特定の割当てを追加、変更または削除できます。
Modify Recordsコンポーネントは、Endecaデータ・ドメイン内のレコードの割当ての変更にデータ収集Webサービス(DIWS)を使用します。このコンポーネントはレコードへの新しい割当ての追加、レコードの既存の割当ての変更または削除を行えます。1つのトランザクションで複数のレコードを変更できます。
レコードの追加または変更を行う場合、 レコードに対する追加または上書きを行うためのデータの入力には、この入力が必要になります。
Modify Recordsコンポーネントの入力配列は、プロパティ名と、変更するレコードを指定する値およびレコードに追加する値またはレコードから削除する値との任意の配列です。null値が指定されたレコードに追加されることに注意してください。null値は、既存の値をすべて上書きします。
ProductKey|Color|SafetyStockLevel|ReorderPoint CA-5965|Black|500|375 CA-6738|White|500|375 CA-7457|Black|500|375 CB-2903|Silver|1000|750 CN-6137|Silver|1000|750 CR-7833|Gold|1000|750 FH-2981|Silver|500|375ProductKeyを指定子属性と仮定します。この値は、変更するレコードを選択する、レコード・セット指定子属性プロパティに入力されます。
「操作」プロパティの値が割当ての追加であり、レコードにColor、SafetyStockLevelおよびReorderPointプロパティの値が含まれていない場合、これらのプロパティの入力値がProductKeyプロパティで指定されたレコードに追加されます。レコードにこれらのプロパティに対する値がすでに含まれており、これらのプロパティが複数割当てをサポートする場合、これらのプロパティの既存の値に入力値が追加されます。プロパティが複数割当てをサポートしていない場合、操作は失敗します。また、結果としてバッチ全体が失敗します。
ProductKey|Color|SafetyStockLevel|ReorderPoint CA-6738|||
この場合、Color、SafetyStockLevelおよびReorderPointプロパティの値がnull値で上書きされます。(つまり、この操作は実質的に、これらのプロパティのワイルドカードによる削除操作になります。)
ProductKey|Color|SafetyStockLevel|ReorderPoint CA-5965|Black|500|375 CA-7457|Black||次のようになります。
複数値属性は、複数割当てデリミタまたはリスト・データ型を使用して指定できます。詳細は、「複数値データの処理」を参照してください。
ProductCategory|ProductSubcategory|SafetyStockLevel|ReorderPoint Components|Hardware|250|185 Components|Wheels|25|18 Clothing|Hats|40|35 Clothing|Shirts|25|20次のEQLを入力できます: "EnglishProductCategoryName"=$input.ProductCategory and "EnglishProductSubcategoryName"=$input.ProductSubcategory
複数割当てプロパティの値に基づいてレコードを選択する場合は、属性の値の完全なセットに基づいて値を選択するか、または属性の値セットの個々のメンバーに基づいて値を選択するかに応じて、異なる構文を使用します。属性の値の完全なセットに基づいてレコードを選択する場合は、構文"attribute"='value'を使用して、入力値が複数値セットになるようにします。
AssignedColors|NewColor red,gree,blue|black yellow,pink,orange|brownEQL: "Color"={$input.AssignedColors}を使用します。
セットのメンバーの順序は重要でないことに注意してください。つまり、入力値green,blue,redでは、入力値red,green,blueと同じレコード・セットが選択されます。
複数割当て指定子属性の動作プロパティの値により、入力セットよりも多いまたは少ない値がレコードに含まれている場合の動作が決まります。このプロパティの値が「含む」である場合は、レコードに入力セットのいずれかのメンバーが含まれており、入力セットの値と完全に一致する必要がないときに、レコードが選択されます。複数割当て指定子属性の動作の値が「完全に一致する」である場合は、属性の値に入力セットのすべてのメンバーが含まれているときにのみレコードが選択されます。含まれている値が多いか、または少ない場合、レコードは選択されません。つまり、レコード指定子"Color"={'red','green','blue'}を使用すると、Colorの値がblue,redのレコードは選択されず、Colorの値がred,green,blue,yellowの場合も選択されません。
AssignedColors|NewColor red|red brown|brown
レコード指定子EVERY "value" IN "Color" SATISFIES("value"<>$input.AssignedColors)は、Color属性の値にAssignedColors入力フィールドの値が含まれないレコードを選択します。
Endeca問合せ言語の詳細は、Oracle Endeca Server EQLガイドを参照してください。
次の表は、Modify Recordsコンポーネントに使用可能な構成プロパティを示しています。
名前 | 説明 | 有効な値 | 例 |
---|---|---|---|
Endeca Serverホスト | Endeca Serverが稼働しているマシンを指定します。 | そのマシンの名前またはIPアドレス。localhostを使用できます。 | MyEndecaServer
255.255.255.0 |
Endeca Serverポート | Endeca Serverがリスニングしているポートを指定します。 | 有効なポート。
Endeca Serverのデフォルト・ポートは7001ですが、別のポートに変更できます。 |
7001 |
Endeca Serverコンテキスト・ルート | Endeca ServerのWebLogicアプリケーション・ルート・コンテキストを指定します。 | WebLogicでの有効なルート・コンテキスト名。 | /endeca-server |
データ・ドメイン名 | 変更されるデータ・ドメインの名前。
データ・ドメインは、コネクタが含まれているグラフが実行されるときに稼働している必要があります。 |
有効なデータ・ドメイン名 | quickstart |
操作 | 実行する操作を指定します。オプションは次のとおりです。
|
||
レコード・セット指定子属性 | 操作するレコードを選択するために使用する入力属性を指定します。 | 入力メタデータで使用可能な属性 | |
複数割当て指定子属性の動作 | レコード選択時の複数値入力属性の一致方法を指定します。 |
|
|
EQLレコード・セット指定子を使用する | 操作するレコードの選択にEQL式を使用するかどうかを指定します。
EQLの標準的な使用方法では、属性名を二重引用符で囲み、属性値を一重引用符で囲みます。 |
選択解除(false)
選択(true) |
"DimGeography_City"='Newton' AND "DimGeography_StateProvinceName"='British Columbia' |
複数割当て指定子属性の動作 | レコード選択時の複数値入力属性の一致方法を指定します。 |
|
|
EQLレコード・セット指定子 | 操作するレコードを選択するために使用するEQL式。 | 有効なEQL式 | |
SSL有効 | コンポーネントのSSLを有効化または無効化します。
接続しているEndeca ServerのSSLが有効になっている場合にのみSSLを有効にしてください。 |
選択(True)
選択解除(False) |
|
バッチ・サイズ | 収集操作のバッチ・サイズ(バイト単位)を指定します。1つまたは複数のレコードで構成されるバッチ。
「コンポーネントによるバッチ・サイズ調整」も参照してください。 |
1以上の正の整数でバッチ・サイズを定義します。バッチ・サイズが小さすぎて最後のレコードがバッチに収まらない場合は、そのレコードを収容できるようにサイズをリセットします。その後、バッチ・サイズは指定したバッチ・サイズに戻ります。
0 (ゼロ)または負の整数を指定すると、バッチ処理はオフになります。バッチ処理がオフになっていると、レコードは1つずつデータ・ドメインに送信されます。 |
1000000
0 |
複数割当てデリミタ | ソース・レコードのプロパティ内の複数割当て値を区切る文字を設定します。このデリミタは、ソース・レコードのプロパティ・フィールドを区切るデリミタとは異なることに注意してください。
「複数割当てデリミタ」も参照してください。 |
複数割当てのデリミタである単一文字。デフォルトはUnicode DELETE文字(\U007F)です。データに複数割当てプロパティが含まれていない場合は、このフィールドを使用する必要はありません。 | |
失敗バッチの最大数 | 収集操作が終了するまでに許容されるバッチの失敗の最大数。 | 0 (バッチの失敗は許容されない)または正の整数。 | 15 |
ポート・フィールド名 | データ型 | 説明 | 例 |
---|---|---|---|
開始行 | Long | バッチの開始行のID | 00001 |
終了行 | Long | バッチの終了行のID | 99999 |
削除されるレコードの数 | Long | データ・ドメインから削除されるレコードの総数 | 42683 |
影響を受けるレコードの数 | Long | 他のレコードは保持したまま、キー/値のペア(割当て)が削除されたレコードの数 | 19834 |
所要時間(秒) | Numeric | バッチの合計処理時間(秒) | 127 |
ポート・フィールド名 | データ型 | 説明 | 例 |
---|---|---|---|
開始行 | Long | バッチの開始行のID | 00001 |
終了行 | Long | バッチの終了行のID | 99999 |
フォルト・メッセージ | String | Endeca Serverによって返されたエラー・メッセージ |