検索クエリのフォーマットは以下の通りです。
このフォーマットを満たさない検索クエリは、 「不正な検索条件」として検索を実行できないものとします。
・検索クエリに使用する予約文字として、以下の文字を割り当てる。
・優先順位は、「(
)」→「!」→「&」→「|」とする。
・予約文字は半角文字とする。全角文字の場合は、検索文字列の一部とみなす。
つまり、「A&B」は、「A」と「B」を含むデータを検索するが、
「A&B」は、「A&B」を含む文字列を検索する。
・予約文字を含む文字列を検索する場合は、半角のダブルクォート「”」で囲む。
・半角ダブルクォートで囲まれた文字列の前後に検索文字列がつながっている場合は、
それらの文字列も連結して、1つの検索文字列として検索を実行する。
従って、以下の文字列は、すべて「A&B(株)」を含むデータを検索する。
「"A&B(株)"」
「A"&"B"(株)"」 「"A&B""(株)"」
「A"&"B"("株")"」
・半角スペース、全角スペース、タブ、改行は、文字列の区切りとして判断し、
分割された2つの文字列は、AND条件で検索する。
つまり、入力が「あああ いいい」であれば、「あああ & いいい」とみなして検索を実行する。 また、「あああ &
いいい」は、「あああ」「&」「いいい」のAND検索を行う。 「あああ & いいい」は、「あああ」「いいい」のAND検索になる。
・半角スペース、全角スペース、タブ、改行を含む文字列を検索する場合は、
半角ダブルクォート「"」で囲む。 つまり、「Red
Hat」を検索したければ、「"Red Hat"」と入力する。
・予約文字、半角スペース等を含む文字列を検索する場合に使用するダブルクォートは、
半角のダブルクォート「"」とする。
全角のダブルクォートは検索文字列の一部とみなす。
・半角のダブルクォートは検索できない文字とする。(全角のダブルクォートは検索可能。)
※QSのインデックスは、すべての文字を全角文字に統一し
ているため、 全角のダブルクォートで検索すれば、すべての文字が検索可能となる。
・カッコの数は特に制限を設けず、任意の数の多重カッコをサポートする。
・否定「!」は、その直後に続く条件を満たさないデータを検索する。 例えば、「!aaa
&
bbb」は「aaaを含まず、bbbを含むデータ」を検索し、 「!(aaa &
bbb)」は「aaaとbbbを両方含むデータ以外」、 つまり「aaaもしくはbbbをいずれか一方を含まないデータ」を検索する。
|