4.2.2 contains_with_score
(1) 機能
全文検索条件式に一致する文書データを検索します。また,同時にスコア値の計算をします。
(2) 書式
contains_with_score(列指定,全文検索条件式)
(3) 入力
列指定
全文検索条件式(varchar)(最大32,000バイト)
(4) 戻り値
常にTRUE
(5) 詳細
-
列指定には全文検索をするXML型の列名を指定します。
-
全文検索条件式には,検索する条件として検索対象の文書構造名,検索タームなどを指定した条件式(varchar)を指定します。
-
contains_with_score関数は,インデクスと協調して動作する検索述語です。contains_with_score関数使用時にIXXMLインデクス型プラグインが使用できない状態の場合には,エラーとなります。
-
contains_with_score関数はスコア値を算出し,score関数に値を受け渡す関数です(受け渡し値送信関数)。スコア値は,score関数で受け取ります(受け渡し値受信関数)。インデクス型プラグイン専用関数および受け渡し値送受信関数の実行方法に関する規則については,マニュアル「HiRDB UAP開発ガイド」を参照してください。
(6) SQL文の例
表「reports」のXML型の列「doc」の「概要」部分に文字列「COMPUTER」を含む文書をスコア値順にソートし,スコア値,タイトルを格納する一覧表を作成する(文書の最上位構造は「文章」)。
SELECT score(doc), title FROM reports WHERE contains_with_score(doc, '文章[概要{"COMPUTER"}]' ) IS TRUE ORDER BY 1 DESC
(7) 注意事項
全文検索条件式には,複数の条件を「AND」,「OR」で指定できます。