4.3.14 全文検索条件式の指定例
全文検索条件式の指定例を次に示します。なお,例では表「reports」のSGMLTEXT型の列「doc」を検索対象としています。また,「概要」および「目的」は,最上位構造「文章」の下位構造です。
-
「概要」部分に文字列「COMPUTER」を含む文書の件数を調べる。
SELECT COUNT(*) FROM reports WHERE contains(doc, '文章[概要{"COMPUTER"}]' ) IS TRUE
-
「概要」部分に文字列「COMPUTER」の同義語を含む文書のタイトル一覧表を作成する。
SELECT title FROM reports WHERE contains(doc, '文章[概要{SYNONYM(USR01, "COMPUTER")}]' ) IS TRUE
-
「概要」部分に文字列「COMPUTER」の同義語と「NETWORK」を含む文書の件数を調べる。
SELECT COUNT(*) FROM reports WHERE contains(doc, '文章[概要{SYNONYM(USR01, "COMPUTER") AND "NETWORK"}]' ) IS TRUE
-
「概要」部分に「COMPUTER」の同義語と「NETWORK」の同義語を含む文書の件数を調べる。
SELECT COUNT(*) FROM reports WHERE contains(doc, '文章[概要{SYNONYM(USR01, "COMPUTER") AND SYNONYM(USR01, "NETWORK")}]' ) IS TRUE
-
「概要」部分に「COMPUTER」の同義語と「NETWORK」の同義語が10文字以内に近接して出現する文書のタイトル一覧表を作成する。
SELECT title FROM reports WHERE contains(doc, '文章[概要{PROXIMITY(SYNONYM (USR01, "COMPUTER"),<=10, CHARACTERS, ANY_ORDER,SYNONYM(USR01, "NETWORK"))}]' ) IS TRUE
-
「概要」部分に, 「COMPUTER」の同義語(同義語辞書USR01)と, 「NETWORK」の同義語(同義語辞書POLITICS)が20文字以内に近接して出現する文書のタイトル,著者一覧表を作成する。
SELECT title, author FROM reports WHERE contains(doc, '文章[概要{PROXIMITY(SYNONYM (USR01, "COMPUTER"),<= 20, CHARACTERS, ANY_ORDER, SYNONYM( POLITICS, "NETWORK"))}]' ) IS TRUE
-
「目的」部分に「COMPUTER」を含み,かつ「概要」部分に「NETWORK」を含む文書の件数を調べる。
SELECT COUNT(*) FROM reports WHERE contains(doc, '文章[目的{"COMPUTER"}] AND文章[概要 {"NETWORK"}]' ) IS TRUE
-
「文章」に「NETWORK」を含む文書の件数を調べる。
SELECT COUNT(*) FROM reports WHERE contains(doc, '文章{"NETWORK"}' ) IS TRUE
-
「文章」の下の任意の階層にある「コラム」部分に文字列「COMPUTER」を含む文書の件数を調べる。
SELECT COUNT(*) FROM reports WHERE contains(doc, '文章[*[コラム{"COMPUTER"}]]' ) IS TRUE
-
3階層目にある「コラム」部分に文字列「COMPUTER」を含む文書の件数を調べる。
SELECT COUNT(*) FROM reports WHERE contains(doc, '?[?[コラム{"COMPUTER"}]]' ) IS TRUE
-
「文章」の下階層にある2番目の「コラム」部分に文字列「COMPUTER」を含む文書の件数を調べる。
SELECT COUNT(*) FROM reports WHERE contains(doc, '文章[コラム=2{"COMPUTER"}]') IS TRUE
-
「文章」に「COMPUTER」と「NETWORK」のアルファベット大小文字展開と全角半角展開を含む文書の件数を調べる。
SELECT COUNT(*) FROM reports WHERE contains(doc, '文章{SOUNDEX_EXP("COMPUTER「","」AE") AND SOUNDEX_EXP("NETWORK「","」AE")}' ) IS TRUE