uCosminexus DocumentBroker Version 3 クラスライブラリ C++ リファレンス 基本機能編

[目次][用語][索引][前へ][次へ]

CdbrXmlTranslator::GetIndexDataメソッド

機能

全文検索インデクス作成用データの取得

形式

DmaBoolean GetIndexData(
  const pDmaString_T    pXmlFilePath,
  DmaInteger32          lParseLevel,
  DmaInteger32          lIndexType,
  const pDmaString_T    pFilterFilePath,
  const pDmaString_T    pIndexFilePath,
  ppDmaString_T         ppParseMessage)

詳細

XMLファイルの構文解析をして全文検索インデクス作成用データを生成し,ファイルに出力するメソッドです。出力されたファイルは,CdbrDocumentクラスなどの文書系クラスのCreateIndexメソッドで利用します。

CdbrXmlTranslatorFactory::CreateTranslatorメソッドでCdbrXmlTranslatorオブジェクトを生成していない場合や,CdbrXmlTranslatorオブジェクト生成元のCdbrXmlTranslatorFactoryオブジェクトがすでに破棄されている場合,オブジェクトが未初期化状態であるとして,このメソッドはエラーになります。

全文検索インデクス作成用データは,CdbrXmlTranslator::GetDmaInfoListメソッドでも取得できます。このメソッドもCdbrXmlTranslator::GetDmaInfoListメソッドも構文解析を伴うので,プロパティリストも必要な場合は処理性能を考慮して,CdbrXmlTranslator::GetDmaInfoListメソッドで一括して取得することを推奨します。

なお,このメソッドの実行にはPreprocessing Library for Text Searchが必要です。

引数

pXmlFilePath(入力)

入力するXMLファイルのパス名を,"file:///"で始まるURL形式で指定します。NULLを指定するとエラーになります。

lParseLevel(入力)

構文解析のレベルを指定します。次の値のどれかを指定してください。

lIndexType(入力)

作成対象となる全文検索インデクスの種別を指定します。次の値のどちらかを指定してください。

pFilterFilePath(入力)

全文検索インデクス作成用データの生成の際に使用するフィルタリング定義ファイルを指定します。

ファイルは,UNIXの場合は<インストールディレクトリ>/client/etc/xml_files,Windowsの場合は<DocumentBroker Development Kitのインストールディレクトリ>\etc\xml_filesを起点とした相対パス名か,"file:///"で始まる絶対パス名で指定します。なお,NULLを指定した場合,フィルタリング定義ファイルを使用しないで処理を実行します。

pIndexFilePath(入力)

全文検索インデクス作成用データを出力するファイルのパス名を,"file:///"で始まるURL形式で指定します。NULLを指定するとエラーになります。

ppParseMessage(出力)

XMLファイルの構文解析などで発生したエラーやワーニング(警告)の詳細情報が設定されます。詳細情報を格納する領域のアドレスを指定してください。NULLを指定するとエラーになります。なお,返却する詳細情報がない場合はNULLが設定されます。ppParseMessageの領域は,dbrDelete関数を使ってユーザプログラムで解放してください。

NULLが設定されるかどうかはこのメソッドの戻り値に依存しません。メソッドが正常終了した場合でもNULL以外の値が設定される場合があり,また,異常終了した場合でもNULLが設定される場合があります。

戻り値

DMA_TRUE  正常終了

DMA_FALSE 異常終了

戻り値の詳細

major_code minor_code 説明 対処
ERR_DBR ERR_OBJECT_NOT_INITIALIZE オブジェクトが初期化されていません。 初期化を実行してください。
ERR_DMA DMARC_ACCESS_DENIED 要求された操作に対してアクセス権がありません。 正しいアクセス権を設定してください。
ERR_DMA DMARC_BAD_PARAMETER 不正な引数が入力されました。 正しい引数を指定してください。
ERR_DMA DMARC_BAD_URL リソースのURLが不正です。 URLの内容を見直してください。
ERR_DMA DMARC_NO_MEMORY メモリ不足で実行できません。 メモリを増設してください。またはメモリを大量に消費しているアプリケーションを停止させて,処理を再実行してください。
ERR_DMA DMARC_NOT_SUPPORTED このセッションまたはオブジェクトではサポートされていないメソッドです。 この操作は実行できません(Preprocessing Library for Text Searchが必要です)。
ERR_DMA DMARC_RESOURCE_NOT_FOUND 指定されたリソースがありません。 指定したリソースパスを見直してください。
ERR_DMA DMARC_UNEXPECTED 予期しないエラーが発生しました。 処理を終了してください。
ERR_DMA DMARC_URL_PROTOCOL_NOT_SUPPORTED サポートしていないURLプロトコルです。 file:///で始まっているか確認してください。
ERR_DMA EDMRC_PARSE_ERROR XMLファイルの構文解析エラーが発生しました。 XMLファイルの内容を見直してください。