Bulk Add/Replace Recordsコンポーネント

Bulk Add/Replace RecordsコンポーネントはEndecaデータ・ドメインで新規レコードの追加または既存のレコードの置換を行います。

Bulk Add/Replace Recordsコンポーネント
Bulk Add/Replace RecordsコンポーネントはEndeca Serverのバルク・ロード・インタフェースを使用します。(他のコンポーネントはデータ収集Webサービス[DIWS]を使用します)。バルク・ロード・インタフェースはこのコンポーネントの基本特性を定義します。
  • このコンポーネントでロードできるのは、データソース・レコードのみです。
    したがって、このコンポーネントでは次のものをロードできません。
    • プロパティ詳細レコード(PDR)
    • ディメンション詳細レコード(DDR)
    • 管理対象属性値(MVals)
    • グローバル構成レコード(GCR)
    • データ・ドメイン構成ドキュメント
  • Endecaデータ・ドメイン内の既存のレコードは更新されるのではなく、置換されます。つまり、ロード操作は置換操作であって、追加操作ではありません。
  • 追加または置換する各レコードに対して、主キー属性(レコード指定子とも言います)が必要です。
  • 割当て(キーと値のペア)が、Endecaデータ・ドメイン内に存在しない標準属性(プロパティ)を指定している場合は、PDRのシステム・デフォルト値を使用して新しい標準属性が自動的に作成されます(「標準属性のデフォルト値」を参照してください)。
  • このコンポーネントはレコードをバッチで送信しません。データ・ドメインへの単一のストリーミング接続を使用します。
注意: 収集対象として送信される文字列データは有効なXML文字で構成されている必要があります。詳細は、「収集で有効な文字」を参照してください。

収集後の動作

バルク・ロード・インタフェースでは、それぞれのバルクロード収集操作の最後に強制的にマージして1つに生成することが、デフォルトの動作です。この動作は、定期的にスケジュールされた更新ウィンドウの間に発生する、単一の大規模な同種のデータ更新の最終処理における問合せのパフォーマンスを最大化することを目的としています。

Bulk Add/Replace Records収集後の問合せの最適化プロパティを使用すると、次のような場合に収集後のマージをいつ行うかを制御できます。
  • このプロパティがtrue (デフォルト)に設定されている場合、収集後すぐに強制的にマージが行われます。
  • プロパティがfalseに設定されている場合、更新の最後にマージは強制されませんが、通常のバックグラウンド・マージ・プロセスを使用し、いずれ生成が行われます。この動作は、全体としての更新遅延が少ないことが最も重要となる同種データの並列更新により適しています。
収集後のディクショナリの更新プロパティは、aspellスペリング・ディクショナリをいつ更新するかを制御します。
  • このプロパティがtrue (デフォルト)に設定されている場合は、ディクショナリの更新は収集後すぐに強制されます。
  • このプロパティがfalseに設定されている場合は、ディクショナリの更新は無効化されます。updateaspell管理操作を使用して、後からディクショナリを更新できます。詳細は、Oracle Endeca Server管理者ガイドを参照してください。

入力メタデータ・スキーマ

Bulk Add/Replace Recordsコンポーネントの入力メタデータ・スキーマは修正されません。各メタデータ・フィールドはデータ・ドメイン・レコード上のプロパティを表します。

(コネクタに接続しているエッジのメタデータの編集ダイアログに表示されている)Integrator ETLフィールドのメタデータ・タイプはmdexプロパティ・タイプに変換されます。たとえば、Integrator ETLのintegerデータ型はmdex:intデータ型に変換されます。Integrator ETLの非ネイティブ・タイプ(mdex:durationmdex:timemdex:geocodeなど)をサポートするには、この動作をオーバーライドする必要があることに注意してください。詳細は、「mdexTypeカスタム・プロパティの作成」を参照してください。

複数値の入力フィールドは、複数割当てデリミタまたはリスト・データ型を使用して定義できます。詳細は、「複数値データの処理」を参照してください。

ユースケース

Bulk Add/Replace Recordsコンポーネントは、目に見える更新が遅れたり、データのロード中に問合せのパフォーマンスが停止しても問題ない場合に、データを一括でロードするために使用します。

このコンポーネントは、次のような場合に使用します。
  • スキーマがロードされていない場合の、レコードの全索引の初期ロード。このシナリオでは、Endecaデータ・ドメインにはユーザー・データ・レコードがなく、ユーザーが作成したスキーマもありません(つまり、既存のPDRがありません)。この場合、すべての新規プロパティ(主キー・プロパティを含む)はシステムのデフォルト値で作成されます。
  • レコード・スキーマをロードした後の、レコードの全索引の初期ロード。
  • レコードの初期ロード後、さらに新しいレコードをEndecaデータ・ドメインに追加する場合。初期ロードの場合と同様、データ・ドメインに存在しない新しい標準属性は、デフォルトのシステム値で自動的に作成されます。
  • レコードの初期ロード後、Endecaデータ・ドメイン内の既存のレコードを置換する場合。この場合、既存のレコードのすべてのキーと値のペアが、入力ファイルのキーと値のペアで置換されます。

構成プロパティ

注意: すべてのコネクタのビジュアル・プロパティの詳細は、「コンポーネントのビジュアル・プロパティ」を参照してください。すべてのコネクタに共通の構成プロパティの詳細は、「コンポーネントの共通構成プロパティ」を参照してください。

次の表は、Bulk Add/Replace Recordsコンポーネントに使用可能な構成プロパティを示しています。

表1 Bulk Add/Replace 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
指定子属性 操作が実行されるレコードの主キー(レコード指定子)を指定します。 主キーの名前。

主キーがデータ・ドメインに存在しない場合、システム・デフォルト値を使用してプロパティが自動的に作成されます。

FactSales_OrderNumber
コレクション・キー 必須。データのロード先となるコレクションのキーを指定します。
  • コレクションが存在していない場合は、作成されます。
  • コレクションが存在する場合は、指定したコレクションに変更が加えられます。つまり、新規レコードは指定したコレクションに追加され、指定したコレクション内のレコードは更新されます。

    既存のコレクションを指定する場合、指定子属性フィールドの値は、既存のコレクションの指定子属性に一致する必要があります。

英数字で、かつ文字またはアンダースコアで開始する必要があります。 New Collection
収集後の問合せの最適化 収集操作の後すぐにレコードをマージするか、標準のバックグラウンド・マージ・プロセスを使用するかを指定します。 選択(True、デフォルト)

選択解除(False)

収集後のディクショナリの更新 スペリング・ディクショナリを収集操作終了後すぐに自動的に更新するかどうかを指定します。収集操作終了後にディクショナリが更新されない場合は、Webサービスを使用して更新コマンドを手動で発行する必要があります。 選択(True、デフォルト)

選択解除(False)

SSL有効 コンポーネントのSSLを有効化または無効化します。

接続しているEndeca ServerのSSLが有効になっている場合にのみSSLを有効にしてください。

選択(True)

選択解除(False)

この回数のエラーの後に停止 1回のロード操作で許容される収集エラーの最大数を指定します。エラーの回数がこの値に達すると、収集操作は終了します。 0 (エラーの発生を認めない)または正の整数。 0

15

複数割当てデリミタ ソース・レコードのプロパティ内の複数割当て値を区切る文字を設定します。このデリミタは、ソース・レコードのプロパティ・フィールドを区切るデリミタとは異なることに注意してください。

「複数割当てデリミタ」も参照してください。

複数割当てのデリミタである単一文字。デフォルトはUnicode DELETE文字(\U007F)です。データに複数割当てプロパティが含まれていない場合は、このフィールドを使用する必要はありません。
タイムアウト(ミリ秒) コンポーネントの操作のタイムアウトを指定します。

グラフの実行時にタイムアウトが発生すると、Endeca Serverでの操作に時間がかかる場合があります。Endeca Serverで操作をより長い時間実行できるようにこのパラメータの値を変更します。

デフォルトのタイムアウトは1分間です。

整数 60000

失敗した収集操作後のデータ・ドメイン・ステータス

エラーのためにバルク・ロード収集操作が終了した場合、エラーの前までに収集されたレコードは、データ・ドメインに含まれます。データ・ドメインは収集されたレコードに対する問合せを受け入れますが、データ・ドメインが一貫性のない状態であることを考慮する必要があります。一貫性のある状態に復元するには、ログを確認して、バルク・ロード操作が失敗した原因を調べ、問題を修正し、データをリロードします。

出力ポート

データ・ドメイン内のレコード・データを(レコードまたはキーと値のペアの追加または削除によって)変更する各Information Discoveryコンポーネントには次2つの出力ポートがあります。
  • ポート0は、正常に収集されたレコードのバッチを示すステータス情報を返します。
  • ポート1は、データ・ドメインが収集に失敗したレコードのバッチを示すエラー情報を返します。ポートに出力された各レコードは、個々のレコードではなく失敗したバッチに対応します。
表2 ポート0のメタデータ
ポート・フィールド名 データ型 説明
追加レコード Long データ・ドメインに追加されたレコード数 984341
キューに入っているレコード Long 処理のためにキューに追加され、まだ処理されていないレコード数 1568
拒否されたレコード Long 送信されたが、データ・ドメインに追加されなかったレコード数 24836
状態 String バルク・ロードAPIによって戻されたデータ・ドメイン・ステータスの文字列
表3 ポート1のメタデータ
ポート・フィールド名 データ型 説明
フォルト・メッセージ String Endeca Serverによって返されたエラー・メッセージ