Hitachi

Hitachi Advanced Data Binder システム構築・運用ガイド


11.16.2 同義語検索を行う

スカラ関数CONTAINSを使用して同義語検索を行います。スカラ関数CONTAINSについては,マニュアルHADB SQLリファレンスCONTAINSを参照してください。

〈この項の構成〉

(1) 基本的な検索例

同義語辞書Dictionary1を使用して,同義語検索を行います。同義語辞書Dictionary1には,次に示す語句が同義語として登録されています。

例題

DOCUMENTS列には文書データが格納されています。その文書データ中に「データベースデータバンクdatabase」のどれかの語句が含まれている文書データ名(TITLE列)を検索します。

実行するSQL文

SELECT "TITLE" FROM "REPORTS"
    WHERE CONTAINS("DOCUMENTS",'SYNONYM("Dictionary1","データバンク")')>0
[説明]

スカラ関数CONTAINS中に同義語辞書名(Dictionary1)と,Dictionary1に登録されている同義語の1つ(データバンク)を指定します。上記のSQL文を実行すると,同義語辞書の同義語グループに登録されている同義語(データベースデータバンクdatabase)のどれかが文章情報中に含まれている文書データ名(TITLE列)が検索結果として返されます。

メモ

同義語辞書に登録されている同義語を調べる方法については,「11.16.3 同義語辞書に登録されている同義語を確認する」を参照してください。

(2) 表記ゆれ補正検索を適用した検索例

表記ゆれ補正検索に対応している同義語辞書Dictionary1を使用して,同義語検索を行います。同義語辞書Dictionary1には,次に示す語句が同義語として登録されています。

例題

DOCUMENTS列には文書データが格納されています。その文書データ中に「データベースデータバンクdatabase[図データ][図データ]DATABASE」などの語句が含まれている文書データ名(TITLE列)を検索します。

実行するSQL文

SELECT "TITLE" FROM "REPORTS"
    WHERE CONTAINS("DOCUMENTS",'SYNONYM("Dictionary1",SORTCODE("データバンク"))')>0
[説明]

スカラ関数CONTAINS中に同義語辞書名(Dictionary1)と,Dictionary1に登録されている同義語の1つ(データバンク)を指定します。上記のSQL文を実行すると,同義語辞書の同義語グループに登録されている同義語(データベースデータバンクdatabase)のどれかが文章情報中に含まれている文書データ名(TITLE列)が検索結果として返されます。

さらに,表記ゆれ補正検索が働くため,[図データ][図データ]DATABASEなどの語句が含まれている文書データの文書データ名(TITLE列)も検索結果として返されます。

(3) 2つの同義語辞書を使用した検索例

次に示す2つの同義語辞書を使用した検索例を説明します。

例題

次の条件をすべて満たす文書データ名(TITLE列)を検索します。

  • DOCUMENTS列に格納されている文書データ中に,「リレーショナルデータベースRDBrelational databaseNoSQLデータベース」のどれかの語句が含まれている

  • TITLE列に格納されている文書データ名中に,「リレーショナルデータベースRDBrelational databaseNoSQLデータベースクラウドデータベースビッグデータデータベース」のどれかの語句が含まれている

SELECT "TITLE" FROM "REPORTS"
    WHERE CONTAINS("DOCUMENTS",'SYNONYM("Dictionary2","RDB")')>0
      AND CONTAINS("TITLE",'SYNONYM("Dictionary3","RDB")')>0

(4) 注意事項