数 1-数 2
4.3.5 単純文字列指定
単純文字列指定では,検索したい文字列(検索ターム)をダブルクォーテーションで囲んで指定します。
単純文字列指定の形式を次の図に示します。
図 4‒6 単純文字列指定の形式
検索文字列には,ワイルドカードおよび特殊文字を指定できます。ワイルドカードおよび特殊文字は,半 角で指定してください。
指定できるワイルドカードおよび特殊文字の意味を次の表に示します。
表 4‒4 指定できるワイルドカードおよび特殊文字
文字 文字の意味
* 0 文字以上の任意の文字列に相当します
? 任意の 1 文字に相当します
| 構造の先頭または末尾に一致します
\ ワイルドカードまたは特殊文字の意味を消します
ワイルドカード指定時の注意事項
• ワイルドカードを指定した場合は,同義語展開されません。
• ワイルドカード指定では,検索条件によってシステムに負荷を与えるおそれがあります。
環境定義ファイルに 1 文字近傍検索実行可否指定(phj_1gram_proximity_search)をすることに より,負荷を与えるおそれのある条件での検索を制限(エラーリターン)できます。
指定例
「ネットワーク」と「コンピュータ」で構成される文字列。
"ネットワーク*コンピュータ"
注意事項
同一構造内で出現回数が多い文字を使用したワイルドカード検索または近傍検索を実行した場合,検索 時最大ワークメモリサイズを超えてメモリを使用する場合があります。
英文の場合に指定できるワイルドカードおよび特殊文字の意味を次の表に示します。
表 4‒5 指定できるワイルドカードおよび特殊文字(英文の場合)
文字 文字の意味
* 単語内の 0 文字以上の任意の文字列に相当します
? 単語内の任意の 1 文字に相当します
\ ワイルドカードまたは特殊文字の意味を消します
ワイルドカード指定時の注意事項(英文の場合)
• ワイルドカードを指定した場合は,同義語展開されません。
• ワイルドカードを使用する場合は,ワイルドカード以外に 3 文字以上指定する必要があります。2 文字以下の場合はエラーになります。
指定例
• 単語一致検索(「Application」で構成される文字列)
Application
• 前方一致検索(前方が「app」,「applicatio」で構成される文字列)
app*,applicatio?
また,検索文字列には,除外文字検索用の特殊文字も指定できます。除外文字検索とは,検索タームの一 部または前後に特定の文字がある場合を除外して,該当する文書を検索する方法です。除外文字検索用の 特殊文字は,半角で指定してください。
ただし,英文検索では除外文字は指定できません。
指定できる除外文字検索用の特殊文字の意味と指定例を次の表に示します。
表 4‒6 指定できる除外文字検索用の特殊文字
文字 文字の意味 指定例
^ 直後にある 1 文字を検索対象から除外します。ただし,
特殊文字を「\」(エスケープ文字)とともに指定した 2 文字は 1 文字とみなして除外します。
•「ローマ?」から「ローマ字」の場合を除外します(?
は任意の 1 文字)。
"ローマ^字"
•「?文書」から「誤文書」の場合を除外します。
"^誤文書"
•「データ???」から「データベース」の場合を除外しま す。
"データ^ベ^ー^ス"
•「?100」から「\100」の場合を除外します。
"^\\100"
[ ] 除外する 1 文字を「,」(コンマ)で区切って複数指定する 場合に使用します。
•「大阪?」から「大阪市」と「大阪府」の場合を除外し ます。
"大阪^[市,府]"
, [ ]の中の文字を区切る場合に使用します。 •「文書?管理」から「文書の管理」と「文書を管理」を 除外します。
"文書^[の,を]管理"
除外文字検索用の特殊文字指定時の注意事項
• 検索ターム全体または「*」で区切られた部分に除外する文字以外の文字がない場合は,エラーとな ります。指定例を次に示します。
誤った例:^ア,^[ア,イ],^ア*,^ア*イ,ア*^イ,?^ア
正しい例:^アイ,^[ア,イ]ウ,イ^ア*,ウ^ア*イ,ア*^イウ,?^アイ
• 除外文字検索用の特殊文字を指定した場合,同義語展開されません。
英文検索の場合の注意事項
• 検索文字列は 1 バイト文字コードの「0x20」〜「0x7E」の範囲で指定します。それ以外の 1 バイ ト文字コード,または 2 バイト文字コードを指定した場合,そのコードはないものとして扱い,以 降の文字コードを詰めて検索します。指定した文字コードが,英文検索用インデクス作成時に定義 した不要語,または削除コードと同じコードの場合は,エラーとなります。
• 検索文字列にインデクスデリミタを含む場合は,インデクスデリミタで前後の文字コードを区切り,
フレーズ検索とみなして検索します。例えば「0x20」(半角スペース)で区切って複数の単語を記 述した場合,それらの単語が隣り合って出現する一つの単語列として検索します。なお,文字列中 の一単語は,64 文字(バイト)まで指定できます。64 文字(バイト)を超える単語が指定された 場合は,65 文字(バイト)目以降を無視して 64 文字(バイト)目までを単語として検索します。