Bibliotheca21 Development Kit Version 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」としています。
検索(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 SORT8 検索タームに重みを付けた検索 「最新」および「情報」の両方を含む文書を検索する。ただし「最新」に5倍の重みを付ける FindFile:for
('最新'[5],'情報'),
RANK COUNTS SORT9 検索ターム同士の論理和 「最新」または「情報」を含む文書の検索 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 Uae15 繰り返し構造に対する検索 <章>に「最新」と「情報」を含む文書を検索する。ただし「最新」と「情報」は同じ章にある文書を検索 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 SORT4 検索条件式同士の論理和 「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')
ソートに使用する条件式の例題を表2-10に示します。なお,例題での関連情報ファイル名は,「InfoFile」としています。
表2-10 検索結果のソートの条件式を使用した例題
項番 検索の種類 検索の内容 記述例 1 ソート TS2MFIND関数の検索結果集合ID5の結果を,作成日時の古い順にソート SET(5),InfoFile 2 TS2MFIND関数の検索結果集合ID10の結果を,作成日時の新しい順にソート SET(10),InfoFile,DESC
概念検索(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')))
All Rights Reserved. Copyright (C) 2003, Hitachi, Ltd.