2.3.4 全文検索機能付き文書クラスの追加

ここでは,全文検索機能を利用するための全文検索機能付き文書クラスの追加について説明します。

構造を持たないテキスト形式の文書(プレーンテキスト)および構造を持つ文書に対して全文検索を実行するためには,全文検索の対象となるサブクラスを追加する必要があります。全文検索の対象となるサブクラスのことを,全文検索機能付き文書クラスといいます。全文検索機能付き文書クラスとは,全文検索に必要な機能を持ったプロパティを追加したdmaClass_DocVersionクラスのサブクラスのことです。

全文検索のうち,概念検索の対象になるクラスについては,全文検索用の機能を持ったプロパティのほかに,概念検索用の機能を持ったプロパティも追加する必要があります。概念検索に必要な機能を持ったプロパティを追加したdmaClass_DocVersionクラスのサブクラスのことを特に,概念検索機能付き文書クラスといいます。

全文検索の対象になるオブジェクトを作成する場合は,全文検索機能付き文書クラスを,次に示すオブジェクトの構成要素として指定します。

全文検索機能付き文書クラスに追加するプロパティは,使用する検索機能によって異なります。ここでは,プレーンテキストおよび構造を持つ文書を対象として,次に示す文書クラスの定義について説明していきます。

なお,構造を指定した検索機能を使用する文書クラスの定義については,それぞれの文書クラスの定義に含めて説明します。

<この項の構成>
(1) 全文検索機能付き文書クラスの定義
(2) 概念検索機能付き文書クラスの定義

(1) 全文検索機能付き文書クラスの定義

ここでは,検索タームを指定する全文検索機能を使用する文書クラスの追加定義に必要なプロパティについて説明します。

(a) 追加するプロパティ

全文検索機能を使用する文書クラスを作成する場合,dmaClass_DocVersionクラスのサブクラスとして,次に示すプロパティを追加した文書クラスを作成する必要があります。

全文検索インデクス用プロパティを次の表に示します。

表2-3 全文検索インデクス用プロパティ

プロパティ全文検索構造指定検索
edmProp_TextIndex×
edmProp_StIndex
edmProp_ConceptTextIndex×
edmProp_ConceptStIndex
edmProp_Content(Version 1互換用)
(凡例)
○:実行できる。
×:実行できない。

(b) 必要に応じて追加するプロパティ

全文検索機能を使用する文書クラスの定義には,次に示すプロパティのうち,必要なプロパティを追加してください。

  1. edmProp_TextIndexプロパティ
    検索エンジンに対して,全文検索用の登録情報を参照することを示すためのプロパティです。プレーンテキストの登録情報を参照する場合は,このプロパティを追加します。
  2. edmProp_StIndexプロパティ
    検索エンジンに対して,文書の構造を指定した全文検索用の登録情報を参照することを示すためのプロパティです。XML文書の登録情報を参照する場合は,このプロパティを追加します。
  3. edmProp_ConceptTextIndexプロパティ
    検索エンジンに対して,全文検索用または概念検索用の登録情報を参照することを示すためのプロパティです。プレーンテキストの登録情報を参照する場合は,このプロパティを追加します。
  4. edmProp_ConceptStIndexプロパティ
    検索エンジンに対して,文書の構造を指定した全文検索用または概念検索用の登録情報を参照することを示すためのプロパティです。XML文書の登録情報を参照する場合は,このプロパティを追加します。
  5. edmProp_Contentプロパティ
    全文検索エンジンに対して,全文検索用および文書の構造を指定した全文検索用の登録情報を参照することを示すためのプロパティです。プレーンテキスト, XML文書のプロパティとして追加できます。なお,このプロパティは,Version 1との互換用のプロパティです。
  6. edmProp_DocLengthプロパティ
    検索した文書の長さを示すプロパティです。バイト単位で示します。
  7. edmProp_ContentIndexStatusプロパティ
    全文検索機能を使用する文書クラスに,全文検索インデクスの登録状態を示します。
  8. edmProp_Scoreプロパティ
    ランキング検索時のスコアを取得するための形式的なプロパティです。全文検索の結果のスコアを取得する場合に必要となります。算出されたスコアは検索結果集合内で正規化されて,値として設定されます。
  9. edmProp_RawScoreプロパティ
    ランキング検索時のスコアを取得するための形式的なプロパティです。全文検索の結果のスコアを取得する場合に必要となります。算出されたスコアは検索結果集合内で正規化されないで,値として設定されます。

文書の管理方法に合わせて,プロパティを追加してください。

全文検索機能を使用する文書クラスを定義する場合
1.,2.,3.,4.,および5.のプロパティのうち,どれか一つを必ず追加してください。また,6.および7.のプロパティを必ず追加してください。
なお,5.のプロパティは,Version 1との互換用として,1.,2.,3.,および4.のプロパティの代わりに追加できます。
全文検索結果のスコアを取得する場合
8.および9.のプロパティを必ず追加してください。

(2) 概念検索機能付き文書クラスの定義

ここでは,概念検索機能を使用する文書クラスの追加定義に必要なプロパティについて説明します。

(a) 追加するプロパティ

概念検索機能を使用する文書クラスを作成する場合,dmaClass_DocVersionクラスのサブクラスとして,次に示すプロパティを追加した文書クラスを作成する必要があります。

全文検索インデクス用プロパティ(概念検索機能用)を次の表に示します。

表2-4 全文検索インデクス用プロパティ(概念検索機能用)

プロパティ概念検索全文検索構造指定検索
edmProp_ConceptTextIndex×
edmProp_ConceptStIndex
(凡例)
○:実行できる。
×:実行できない。

(b) 必要に応じて追加するプロパティ

概念検索機能を使用する文書クラスの定義には,次に示すプロパティのうち,必要なプロパティを追加してください。

  1. edmProp_ConceptTextIndexプロパティ
    検索エンジンに対して,概念検索用の登録情報を参照することを示すためのプロパティです。プレーンテキストの登録情報を参照する場合は,このプロパティを追加します。
  2. edmProp_ConceptStIndexプロパティ
    検索エンジンに対して,文書の構造を指定した概念検索用の登録情報を参照することを示すためのプロパティです。XML文書の登録情報を参照する場合は,このプロパティを追加します。
  3. edmProp_DocLengthプロパティ
    検索した文書の長さを示すプロパティです。バイト単位で示します。
  4. edmProp_ContentIndexStatusプロパティ
    概念検索機能を使用する文書クラスに,概念検索インデクスの登録状態を示します。
  5. edmProp_Scoreプロパティ
    ランキング検索時のスコアを取得するための形式的なプロパティです。全文検索の結果のスコアを取得する場合に必要となります。算出されたスコアは検索結果集合内で正規化されて,値として設定されます。
  6. edmProp_RawScoreプロパティ
    ランキング検索時のスコアを取得するための形式的なプロパティです。全文検索の結果のスコアを取得する場合に必要となります。算出されたスコアは検索結果集合内で正規化されないで,値として設定されます。
  7. edmProp_ScoreConceptプロパティ
    概念検索結果のスコアを取得するための形式的なプロパティです。

文書の管理方法に合わせて,プロパティを追加してください。

概念検索機能を使用する文書クラスを追加する場合
1.または2.のプロパティを必ず追加してください。また,3.および4.のプロパティを必ず追加してください。
全文検索結果のスコアを取得する場合
5.および6.のプロパティを必ず追加してください。
概念検索結果のスコアを取得する場合
7.のプロパティを必ず追加してください。