テキスト検索引数の構文
テキスト検索引数は、テキスト文書で用語を検索する場合に指定します。検索パラメーターと、1 つ以上の検索語で構成されています。テキスト検索引数を使用する SQL スカラーのテキスト検索関数は CONTAINS と SCORE です。
CONTAINS と SCORE については、CONTAINS および SCORE を参照してください。
テキスト検索について詳しくは、OmniFind® Text Search Server for DB2® for i を参照してください。
構文
.--------------------------------. V | >>-qualified-clause----+----------------------------+-+-------->< '-operator--qualified-clause-' 演算子 |--+-AND-+------------------------------------------------------| '-OR--' qualified-clause |--+----------+--clause--+-------+------------------------------| '-modifier-' '-boost-' modifier |--+- + -+------------------------------------------------------| +- - -+ '-NOT-' clause |--+-unqualified-term-+-----------------------------------------| '-opaque-term------' boost |--+------------+-----------------------------------------------| '- ^ -number-'
説明
検索引数は 1 つの用語、または空白で区切られた一連の用語で、テキスト文書で検索を行う場合に指定します。これは、1 つ以上の検索語と、様々なオプションの検索パラメーターで構成されます。
簡単な検索を実行する場合、1 つ以上の用語を入力できます。検索エンジンは、これらの語、またはこれらの語の変化形がすべてが含まれる文書を戻します。例えば、king という語を検索すると、king が含まれる文書を戻します。デフォルトでは、検索エンジンは検索語の変化形も戻します。つまり、kings が含まれる文書も戻します。同様に、2 つの用語で検索を行う場合、検索エンジンは両方の用語が含まれる文書を戻します。それらの語と正確に一致する句を検索する場合には、引用符を追加するだけです。
使用する検索語が具体的であれば、それだけ結果も絞り込まれます。ただし、以下のオプションのうち 1 つ以上を使用しても、検索をより絞り込むことができます。
- operator
- 検索において満たす必要があるのが、operator の両側の qualified clause であるのか、それともその片方だけであるのかを指定します。
- AND
- 検索において満たす必要があるのは、operator の両側の qualified clause です。
- OR
- 検索において満たす必要があるのは、operator の両側の qualified clause のうち、少なくとも片方だけです。
SQL における検索条件と同様、qualified clauses とoperators のどちらを最初に評価するかを決定するために括弧を使用できます。括弧を指定しないと、AND が OR の前に適用されます。
- modifier
- それぞれの clause はオカレンス修飾子を指定できます。
modifier を clause に指定しないと、デフォルトの正符号 (+) になります。
- +
- 文書において clause が必須です。
- - または NOT
- 文書では、clause を指定することはできません。
- ?
- 文書では、clause はオプションです。
- clause
- 検索ストリングを指定します。検索ストリングでは、疑問符 (?) とアスタリスクに特別な意味があります。単一文字を示す場合には疑問符 (?) を使用し、ゼロ個以上の文字ストリングを表わす場合にはアスタリスク (*) を使用します。検索ストリングに複数の語が含まれており、句として扱う必要のある場合には、検索ストリングを引用符 (") で囲んでください。clause の中に含まれる空白は、無視されます。
- unqualified-term
- 非修飾用語は用語または句を単に示します。用語は、king のような単語や、"king" のように正確に一致する単語、または任意の単一文字を表わすための疑問符 (?) が含まれる単語やゼロ個以上の文字ストリングを表わすためのアスタリスク (*) が含まれる単語 (例: king* または king?) などにすることができます。同様に、句は cabbages and kings などの一群の単語で構成されていたり、"The King and I" のように正確に一致する句であったり、"all the king's ho*ses" または "all the king's ?" などのようにワイルドカードが含まれる句にすることができます。
clause 内の文字が検索引数の構文で特別な意味を持ついずれかの文字の場合、エスケープ文字 (¥) を使用すると、それに続く文字は clause において正規文字として扱うべきであることを示します。
- opaque-term
- あいまいな照会条件と言われているのは、言語照会パーサーによって解析されないためです。あいまい条件は、独自の構文によって識別されます。XML マークアップが含まれている、テキスト検索照会で使用するあいまい条件とは @xmlxp で、@xmlxp:'/TagA/TagB[.contains("king")]' などとなります。
- boost
- boost は、clause ごとに指定できます。boost によって、clause のオカレンスに対して重要度の高または低を指定します。
- number
- ゼロより大きい小数または整数定数を指定します。 boost を clause に指定しないと、デフォルトのランキング調整値は 1 になります。
注意
大/小文字の区別: 検索では大/小文字の区別がありません。そのため、スペイン語で用語 "DOS" に正確に一致する文書を検索すると、DOS または dos が含まれる文書が戻されます。