大量のレコードのエクスポート

Endeca Serverには、レコードのバルク・エクスポート用の専用機能はありません。かわりに、索引のバージョンを固定して、このバージョンから大量のレコードを結果のページ操作によってリクエストできます。レコードはXML形式で返されるため、後処理ステップで解析する必要があります。

次の手順は、Endeca Serverのみを使用し、Studioを使用しないことを前提としています。この手順では、Endeca Server内の直接的な方法を使用します。Studioをインストールしている場合は、その機能を使用して大量のレコードをエクスポートできます。

対話WebサービスでEndeca Serverから大量のレコードをエクスポートする手順:

  1. optional_pin_timeoutを指定したPinDataVersion要素とともにリクエストを使用して、データ・バージョンを固定します。詳細は、「データ・バージョンの維持」を参照してください。
    次に例を示します。
    ...
    <ns:Request>
     <!--Optional:-->
      <ns:PinDataVersion>optional_pin_timeout</ns:PinDataVersion>
    <ns:State>
      ....
    </ns:State>
    このリクエストは、そのヘッダーX-Endeca-Served-Data-Version内にバージョン番号を返します。これは固定したバージョン番号です。
  2. DataVersionRequested要素でこのバージョン番号を参照する後続のリクエストを発行します。このリクエストには、RecordListConfigタイプも含める必要があります。詳細は、「大量のレコードの取得」を参照してください。

    リクエストが成功すると、リクエストしたレコードが返されます。

取得したレコードに対してどのような処理を行うかは、フロントエンド・アプリケーション開発者が決定できます。たとえば、各レコードの属性値を表示できます。また、Microsoft ExcelスプレッドシートやCSVファイルなどの外部ファイルにエクスポートできるように、返された属性値を適切な形式に変更するコードを記述することもできます。受信したレコードを解析するパフォーマンスを向上させるには、SAXパーサーを使用します。例については、「SAXを使用したXMLファイルの解析」を参照してください。