4.2.9 concept_with_terms

<この項の構成>
(1) 機能
(2) 書式
(3) 入力
(4) 戻り値
(5) 詳細
(6) SQL文の例

(1) 機能

指定した種文章から検索用特徴タームと重みを抽出します。重みは,種文章から抽出される検索用特徴タームの中で重要度が最も高いタームを基準(100)として値が返却されます。なお,種文章から抽出する検索用特徴タームの個数の上限値は,n-gramインデクスプラグインの環境設定項目「検索用特徴ターム数」に依存します。

(2) 書式

concept_with_terms(列指定,概念検索条件式)

(3) 入力

(4) 戻り値

常にTRUE

(5) 詳細

(6) SQL文の例

表「reports」のSGMLTEXT型の列「doc」に対して,種文章と似た文書を検索するための検索用特徴タームと重みを抽出する。

EXEC SQL BEGIN DECLARE SECTION;
   struct {long len; char data[4096];} sql;
   SQL TYPE IS BLOB(1M) excond;
   struct {
    short length ;
    char  data[32000] ;
   }terms ;
EXEC SQL END DECLARE SECTION;

strcpy(sql.data, "SELECT terms_concept(doc) FROM reports
     WHERE concept_with_terms(doc, ? AS BLOB(1M)) IS TRUE  ORDER BY 1 DESC");
sql.len = strlen(sql.data);

strcpy(excond.excond_data,
    "{¥"概念検索とは,検索条件として入力された文章と内容(概念)¥
    が似通った文書を検索する機能である。¥"}");
excond.excond_length = strlen(excond.excond_data);
EXEC SQL PREPARE sqlext FROM :sql;
EXEC SQL DECLARE excrs CURSOR FOR sqlext;
EXEC SQL OPEN excrs USING :excond;
while(1) {
 EXEC SQL FETCH excrs INTO :terms;
}