2.2 いろいろな検索と条件式の例題

この節では,Bibliotheca21 Standardでのいろいろな検索方法を例題とあわせて説明します。

<この節の構成>
(1) 例題の使い方
(2) 条件式(TS2MFIND関数)の例題
(3) 条件式(TS2MSORT関数)の例題
(4) 条件式(TS2MCONCEPT関数)の例題

(1) 例題の使い方

例題は,図2-6および図2-7に示す構造の文書を格納したテキストデータベースを想定しています。

図2-6 例題に使用するテキストデータベース(検索対象ファイル)に格納された文書の構造

[図データ]

図2-7 例題に使用するテキストデータベース(関連情報ファイル)に格納された文字列の構造

[図データ]

例題は,TS2MFIND関数,TS2MSORT関数,またはTS2MCONCEPT関数に指定する条件式の形式で説明しています。

TS2MFIND関数,TS2MSORT関数,またはTS2MCONCEPT関数の詳細については,「3. 関数の文法」を参照してください。

例題の見方について説明します。

項番
2.1.2 検索の条件の指定」での例題の参照先と一致しています。
検索の種類
2.1.2 検索の条件の指定」で説明した検索の種類を挙げています。
検索の内容
検索条件の内容を,次の凡例に基づいて説明しています。
< >:この括弧で囲まれた文字列は,テキストデータベースの構造名を示します。
「 」:この括弧で囲まれた文字列は,検索タームを示します。
記述例
TS2MFIND関数,TS2MSORT関数,またはTS2MCONCEPT関数に指定する条件式の指定例を示します。なお,検索対象ファイル名は「FindFile」,関連情報ファイル名は「InfoFile」としています。

(2) 条件式(TS2MFIND関数)の例題

検索(TS2MFIND関数)に使用する条件式の例題を,表2-6~9に示します。なお,表2-6~9に示す例題での検索対象ファイル名は「FindFile」としています。

表2-6 検索条件式を使用した例題

項番検索の種類検索の内容記述例
1検索タームを1語指定した検索「最新技術」を含む文書の検索FindFile:eq('最新技術')
2構造名を指定した検索<本文>に「最新技術」を含む文書の検索FindFile<文書.本文>:
eq('最新技術')
3検索タームにワイルドカードを指定した検索任意の2文字で始まる「システム」という語を含む文書の検索FindFile:eq
('??システム')
4<本文>に「M」で始まり「Y」で終わる文字列を含む文書の検索FindFile<文書.本文>:
eq('M*Y')
5「How?」を含む文書の検索FindFile:eq('How¥?')
6検索ターム同士の論理積「最新」および「情報」の両方を含む文書の検索FindFile:
fand('最新','情報')
7ランキング検索「最新」および「情報」の両方を含む文書を検索する。ただしそれぞれの検索タームが多く含まれる文書から取り出すFindFile:
fand('最新','情報'),
RANK COUNTS SORT
8検索タームに重みを付けた検索「最新」および「情報」の両方を含む文書を検索する。ただし「最新」に5倍の重みを付けるFindFile:for
('最新'[5],'情報'),
RANK COUNTS SORT
9検索ターム同士の論理和「最新」または「情報」を含む文書の検索FindFile:
for('最新','情報')
10近傍条件検索「最新」と「情報」の間の文字数が20文字ちょうどの文字列を含む文書の検索FindFile:
c=20('最新','情報')
11「最新」と「情報」の間の文字数が20文字ちょうどで,かつ「最新」と「情報」の順序で現れる文字列を含む文書の検索FindFile:
C=20('最新','情報')
12「最新」と「情報」の間の文字数が20文字以下の文字列を含む文書の検索FindFile:
c<=20('最新','情報')
13「最新」と「情報」の間の文字数が20文字以上の文字列を含む文書の検索FindFile:
c>=20('最新','情報')
14同義語・異表記展開検索「PC」を含む文書を検索する。ただし,同義語展開,アルファベット異表記展開および全角・半角異表記展開した結果も条件にするFindFile:eq('PC'),
EXPANS Uae
15繰り返し構造に対する検索<章>に「最新」と「情報」を含む文書を検索する。ただし「最新」と「情報」は同じ章にある文書を検索FindFile
<文書.本文.章>:
fand('最新','情報')
16タグ属性を条件にする検索<本文>の属性"security"の値が"secret"である文書を検索FindFile<文書.本文:
security>:
eq('secret')

表2-7 複合条件式を使用した例題

項番検索の種類検索の内容記述例
1検索条件式同士の論理積「PC」を含む文書,および「最新」と「情報」の間の文字数が20文字ちょうどの文字列を含む文書の論理積を求める検索AND
(FindFile:eq('PC'),
FindFile:c=20('最新',
'情報'))
2複数の構造を指定した検索<要旨>に「インターネット」を含み,かつ<本文>に「PC」を含む文書の検索AND
(FindFile<文書.要旨>:
eq('インターネット'),
FindFile<文書.本文>:
eq('PC'))
3構造に重みを付けた検索<要旨>に「インターネット」を含むか,または<本文>に「PC」を含む文書を検索する。ただし,構造名<本文>に10倍の重みを付けるOR
(FindFile
<文書.要旨>:
eq('インターネット'),
FindFile<文書.本文>[10]:
eq('PC')),
RANK COUNTS SORT
4検索条件式同士の論理和「PC」を含む文書,および「最新」と「情報」の間の文字数が20文字ちょうどの文字列を含む文書の論理和を求める検索OR
(FindFile:eq('PC'),
FindFile:c=20
('最新','情報'))
5検索結果同士の論理積IDが10および12の検索結果集合に含まれる文書IDごとの論理積を求める検索AND(SET(10),SET(12))
6検索結果の否定「社会」という単語が存在しない文書の検索NOT
(FindFile:eq('社会'))
7見出しに「社会」が存在し,かつ本文に「政治」が存在する文書以外の文書の検索NOT
(AND(FindFile<章.見出し>:
eq('社会'),
FindFile<章.本文>:
eq('政治')))
8見出しに「社会」が存在するか,または本文に政治が存在しない文書の検索OR
(FindFile<章.見出し>:
eq('社会'),
NOT(FindFile<章.本文>:
eq('政治')))

表2-8 特定構造検索条件式を使用した例題

項番検索の種類検索の内容記述例
1特定の構造に対する検索<章>の<見出し>に「PC」を含み,かつ<節>の<見出し>に「インターネット」を含む文書を検索する。ただし,二つの検索タームは,同じ章に存在することSAND
(FindFile<文書.本文.章>,
FindFile<文書.本文.章.
見出し>:
eq('PC'),
FindFile<文書.本文.章.
節.見出し>:
eq('インターネット'))

表2-9 範囲指定検索条件式を使用した例題

項番検索の種類検索の内容記述例
1範囲指定検索西暦2000年の範囲の検索InfoFile:rg('2000/01/01 00:00:00,2000/12/31 23:59:59')
2西暦2001年以降の検索InfoFile:rg('2001/01/01 00:00:00,')
3西暦2000年以前の検索InfoFile:rg(',2000/12/31 23:59:59')

(3) 条件式(TS2MSORT関数)の例題

ソートに使用する条件式の例題を表2-10に示します。なお,例題での関連情報ファイル名は,「InfoFile」としています。

表2-10 検索結果のソートの条件式を使用した例題

項番検索の種類検索の内容記述例
1ソートTS2MFIND関数の検索結果集合ID5の結果を,作成日時の古い順にソートSET(5),InfoFile
2TS2MFIND関数の検索結果集合ID10の結果を,作成日時の新しい順にソートSET(10),InfoFile,DESC

(4) 条件式(TS2MCONCEPT関数)の例題

概念検索(TS2MCONCEPT関数)に使用する条件式の例題を,表2-11に示します。なお,例題での検索対象ファイル名は「FindFile」としています。

表2-11 概念検索の条件式を使用した例題

項番検索の種類検索の内容記述例
1概念検索種文章を一つ指定して検索FindFile:eq('種文章')
2種文章を一つ指定してランキング検索し,検索結果をソートRANK SORT
FindFile:eq('種文章')
3種文章を二つ指定してランキング検索し,検索結果をソートRANK SORT
FindFile:eq('種文章1','種文章2')
4見出しが種文章1に該当するか,または本文が種文章2に該当しない文書を検索OR (FindFile <章.見出し>:eq('種文章1'),NOT(FindFile <章.本文>:eq('種文章2')))