3.14.3 範囲指定検索の条件式
範囲指定検索の条件式には,関連情報ファイルのテキストデータを検索タームとして,テキストデータベースを検索するための条件を指定します。
- <この項の構成>
- (1) 形式
- (2) オプション
- (3) 注意事項
- (4) 指定例
(1) 形式
関連情報ファイル名:rg('範囲指定ターム')〔,検索オプション〕
(2) オプション
- 関連情報ファイル名
- 検索対象となる関連情報ファイルを指定します。
- 範囲指定ターム
- 検索範囲として次のどれか指定します。指定した検索タームも検索対象となります(ヒットします) 。
- 検索ターム1,検索ターム2
- 検索ターム1と検索ターム2の範囲を検索します。二つの検索タームの間は「,(コンマ)」で区切ります。なお,検索ターム1と検索ターム2の文字列を文字コード順で前後逆に指定した場合,検索は無効になります(ヒットしません)。
- 検索ターム1,
- 指定した値以降を検索する場合は,1個の検索タームのあとに「,(コンマ)」を指定します。
- ,検索ターム1
- 指定した値以前を検索する場合は,1個の検索タームの前に「,(コンマ)」を指定します。
- 範囲指定検索の検索タームには,ワイルドカードは使用できません。また,次に示す文字が検索タームに含まれる場合は,各文字の前に¥を指定してください。
- * ? | ¥ ^ [ ] , ( ) ’
- 検索オプション
- 検索時のベースを指定します。
- BASE〔検索結果集合ID〕
- 検索時のベースを指定します。
- 検索結果集合ID
検索のベースにする検索結果集合のIDまたは0を指定します。ここで指定した検索結果集合に含まれる文書IDの関連情報登録データが検索の対象となります。0を指定すると,すべての関連情報登録データが検索の対象になります。指定を省略した場合は,0が仮定されます。
検索結果集合IDには,全文検索結果,範囲指定検索のどちらでも指定できます。また,範囲指定結果集合のIDを,全文検索実行時に指定することもできます。
(3) 注意事項
- 範囲指定検索の検索タームには,「付録B 検索に使用できる文字」の表B-1に示す文字を使用してください。表B-1に示す文字以外を使用した場合,期待した検索結果を取得できない場合があります。
- 範囲指定検索では,異表記展開および同義語辞書展開は実行できません。
- 範囲指定検索では,大小文字・全角半角文字統一機能を使用できません。
- 範囲指定検索の検索結果集合同士や,範囲指定検索と全文検索の検索結果集合を指定した複合論理演算(集合間論理演算)を実行できます。ただし,集合間論理演算では,検索対象ファイルに登録されていない文書IDはヒットしません。このため,範囲指定検索で集合間論理演算を実行する場合は,関連情報ファイルに登録した文書IDを検索対象ファイルにも登録しておく必要があります。
- データが1件も登録されていない関連情報ファイルに対して範囲指定検索を実行すると,関数はエラーステータス-200001(エラーマクロ名TS2DERL_ERR_IN_SERVER)となります。このときのBibliotheca21 Standardサーバのエラーコードは2067となります。
- 次の検索を実行した場合は,関数はエラーステータス-200001(エラーマクロ名TS2DERL_ERR_IN_SERVER)となります。このときのBibliotheca21 Standardサーバのエラーコードは2006となります。
- 全文検索と範囲指定検索を同時に指定して実行した場合
ただし,範囲指定検索時に,全文検索結果集合IDをBASEに指定すると,絞り込み検索が実行できます。同様に,全文検索時に範囲指定検索結果の集合IDをBASEに指定した場合も絞り込み検索が実行できます。
- 複合条件式やランキング検索など,範囲指定検索条件式以外で範囲指定検索を実行した場合
- 範囲指定検索の検索タームにワイルドカードを指定して検索を実行した場合
- 検索対象ファイルに範囲指定検索を実行した場合
- 関連情報ファイルに対して全文検索を実行した場合
- 範囲指定検索の設定をしていない関連情報ファイルに対して範囲指定検索を実行した場合
(4) 指定例
関連情報ファイル名「日時データ」に,範囲指定検索用データとして次のフォーマットで文字列が登録されている場合を例に,指定例を示します。
- フォーマット:YYYY/MM/DD hh:mm:ss
- YYYY:西暦4けた
- MM:月2けた(01~12)
- DD:日2けた(01~31)
- hh:時間2けた(00~23)
- mm:分2けた(00~59)
- ss:秒2けた(00~59)
- 西暦2000年の範囲指定検索の場合
日時データ:rg('2000/01/01 00:00:00,2000/12/31 23:59:59')
- 西暦2001年以降の検索の場合
日時データ:rg('2001/01/01 00:00:00,')
- 西暦2000年以前の検索の場合
日時データ:rg(',2000/12/31 23:59:59')