Hitachi

HiRDB 全文検索プラグイン HiRDB Text Search Plug-in Version 10


4.2.9 concept_with_terms

〈この項の構成〉

(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;
}