4.1.1 抽象データ型関数の使用方法

Text Search Plug-inの抽象データ型関数とは,Text Search Plug-inが提供する全文検索機能および概念検索機能を使用するためのインタフェース関数です。文書検索プラグインは,SGMLTEXT型のデータ(文書)に対して全文検索および概念検索を使用するために,HiRDBにSGMLTEXT型を追加します。また,文字列検索プラグインは,FREEWORD型のデータ(文字列データ)に対して全文検索を使用するために,HiRDBにFREEWORD型を追加します。

SGMLTEXT型で全文検索および概念検索をする場合は,抽象データ型関数SGMLTEXTを使用して,表にSGMLTEXT型のデータとして文書を登録します。

FREEWORD型で全文検索をする場合は,抽象データ型関数FREEWORDを使用して,表にFREEWORD型のデータとして文字列データを登録します。

なお,FREEWORD型では,概念検索機能は使用できません。

<この項の構成>
(1) 抽象データ型関数の種類
(2) Text Search Plug-inが提供する抽象データ型関数の一覧

(1) 抽象データ型関数の種類

Text Search Plug-inの提供する抽象データ型関数の種類を次に示します。

文書検索プラグインの場合
SGMLTEXT型のデータ(文書)に対するインタフェースとして,次の3種類の抽象データ型関数を提供しています。
  • データ出力用の抽象データ型関数
  • 全文検索用の抽象データ型関数
  • 概念検索用の抽象データ型関数
文字列検索プラグインの場合
FREEWORD型のデータ(文字列データ)に対するインタフェースとして,次の2種類の抽象データ型関数を提供しています。
  • データ出力の抽象データ型関数
  • 全文検索用の抽象データ型関数

上記のうち,SGMLTEXT型の全文検索用の抽象データ型関数は,SGMLTEXT型の全文検索用インデクスおよび概念検索用インデクスに対して使用できます。SGMLTEXT型の概念検索用の抽象データ型関数は,SGMLTEXT型の概念検索用インデクスに対してだけ使用できます。また,FREEWORD型の全文検索用の抽象データ型関数は,FREEWORD型の全文検索用インデクスに対して使用できます。これらの抽象データ型関数をSQL文中に記述することで,SGMLTEXT型のデータ(文書)またはFREEWORD型のデータ(文字列データ)にアクセスできます。SQLの記述形式については,マニュアル「HiRDB Version 9 SQLリファレンス」を参照してください。

(2) Text Search Plug-inが提供する抽象データ型関数の一覧

Text Search Plug-inが提供する抽象データ型関数の一覧を次の表に示します。

表4-1 Text Search Plug-inの抽象データ型関数一覧

用途関数名機能型別サポート有無
SGML
TEXT
FREE
WORD
データ
登録用
SGMLTEXTSGMLTEXT型のインスタンスを生成するコンストラクタ関数です。SGMLTEXT型の列にデータ(文書)を登録する場合にこの関数を使用します。×
FREEWORDFREEWORD型のインスタンスを生成するコンストラクタ関数です。FREEWORD型の列にデータ(文字列データ)を登録する場合にこの関数を使用します。×
データ
出力用
extracts登録した文書または文字列データを出力します。出力する形式には,次の4種類あります。
  • 原文書出力
  • SGML出力(表示用DTD付加)
×
  • プレーン出力
×
  • XML出力
×
全文検索用contains全文検索条件式に一致する文書または文字列データを検索します。全文検索条件式には,次の6種類あります。
  • 単純文字列指定
  • 異表記展開指定
  • 同義語展開指定
  • 近傍条件指定
  • AND/OR論理条件
  • 構造名指定による検索範囲の指定
×
contains_with_score全文検索条件式に一致する文書を検索します。
scorecontains_with_score関数で検索した文書のスコア値を取得します。検索条件に一致した文書ほどスコア値が高くなります。
概念検索用concept_with_score概念検索条件式に適合する文書を検索します。また,スコアの計算をします。×
score_conceptconcept_with_score関数で検索した文書のスコア値を取得します。検索条件に対する適合度が高い文書ほどスコア値が高くなります。×
concept_with_terms概念検索条件式として指定した種文章から検索用特徴タームと重みを抽出します。×
terms_conceptconcept_with_terms関数で抽出した検索用特徴タームと重みを取得します。×
(凡例)
○:サポートあり
×:サポートなし
-:該当しない