プライマリ・コンテンツに移動
Oracle® Textリファレンス
12cリリース1 (12.1)
B71316-03
目次へ移動
目次
索引へ移動
索引

前
次

4 Oracle Text問合せの特殊文字

この章では、テキスト問合せに使用できる特殊文字について説明します。さらに、Oracle Textが予約語として処理するワードおよび文字を示します。

この章の内容は次のとおりです。

4.1 グループ化文字

グループ化文字は、問合せ式の問合せ語句および演算子をグループ化することによって、演算子の優先順位を制御します。グループ化文字を表4-1に示します。

表4-1 問合せ語句グループ化用の文字

グループ化文字 説明

( )

カッコ文字は、文字間の語句および演算子をグループ化します。

[ ]

大カッコ文字は、文字間の語句および演算子をグループ化します。ただし、拡張演算子(FUZZY、SOUNDEX、STEM)に対しては機能しません。

問合せ語句および演算子のグループは、グループ化文字の左カッコで始まります。グループの終わりは、左カッコに対応する右カッコで示されます。右カッコと左カッコの間に、他のグループを挿入することもできます。

たとえば、左のカッコはグループの始まりを示します。最初に現れる右カッコが、グループの終わりです。右カッコよりも前に別の左カッコがあれば、ネストされたグループを示します。

4.2 エスケープ文字

「and」、「&」、「or」、「│」、「accum」など、問合せ式で特別な意味を持つワードまたは記号を問い合せるには、これらをエスケープする必要があります。表4-2で説明しているように、問合せ式で文字をエスケープするには2通りの方法があります。

表4-2 問合せ語句エスケープ用の文字

エスケープ文字 説明

{}

中カッコを使用して、文字または記号の文字列をエスケープします。中カッコで囲まれたものが、エスケープ・シーケンスの部分とみなされます。

中カッコを使用して単一の文字をエスケープすると、エスケープされた文字が問合せ内の別のトークンになります。

\

円記号を使用して、単一の文字または記号をエスケープします。円記号の直後の文字のみがエスケープされます。たとえば、blue\-greenという問合せには、blue-greenおよびblue greenが一致します。

次の例では、それぞれの式にテキスト演算子または予約記号が入っているため、エスケープ・シーケンスが必要です。

'high\-voltage'
'{high-voltage}'

'XY\&Z'
'{XY&Z}'

最初の例の問合せには、high-voltageまたはhigh voltageが一致します。

2番目の例では、XY&Zの問合せに対して'XY Z'、'XY-Z'、'XY*Z'などが戻され、さらに'XY&Z'も戻されます。これは、アルファベット以外の文字が空白として処理されるためです(したがって、XY&Zは'XY Z'として処理されます)。XY&Zのみに一致させるには、&をprintjoinとして宣言する必要があります。(ただし、宣言した場合、XY&Zは、'XY & Z'に一致しません。)printjoinの詳細は、「BASIC_LEXER」を参照してください。

注意:

中カッコを使用してワード内の個々の文字をエスケープすると、文字はエスケープされますが、ワードは3つのトークンに分割されます。たとえば、high{-}voltageと書かれた問合せでは、ハイフンの両側に空白がある high - voltageが検索されます。

エスケープ文字の問合せ

左中カッコの{は、エスケープ・シーケンスの始まりを示し、右中カッコの}は、そのシーケンスの終わりを示します。左中カッコと右中カッコの間のすべて(すべての左中カッコを含む)が、エスケープされる問合せ式の部分です。エスケープされた問合せ式に右中カッコを組み込むには、}}を使用します。エスケープ文字(円記号)をエスケープするには、\\を使用します。

4.3 予約語

表4-3に、CONTAINS問合せでの検索時にエスケープする必要があるOracle Textの予約語を示します。エスケープ・シーケンスに中カッコ{}と円記号\のどちらをいつ使用するかのルールは、表4-2を参照してください。

表4-3 予約語

予約語(ワード) 予約語(文字) 演算子

ABOUT

(なし)

ABOUT

ACCUM

,

ACCUMULATE

AND

&

AND

BT

(なし)

BROADER TERM

BTG

(なし)

BROADER TERM GENERIC

BTI

(なし)

BROADER TERM INSTANCE

BTP

(なし)

BROADER TERM PARTITIVE

EQUIV

=

EQUIVALENCE

FUZZY

?

FUZZY

(なし)

{ }

エスケープ文字(複数)

(なし)

\

エスケープ文字(単一)

(なし)

( )

グループ化文字

(なし)

[ ]

グループ化文字

HASPATH

(なし)

HASPATH

INPATH

(なし)

INPATH

MDATA

(なし)

MDATA

MINUS

-

MINUS

NEAR

;

NEAR

NOT

~

NOT

NT

(なし)

NARROWER TERM

NTG

(なし)

NARROWER TERM GENERIC

NTI

(なし)

NARROWER TERM INSTANCE

NTP

(なし)

NARROWER TERM PARTITIVE

OR

|

OR

PT

(なし)

PREFERRED TERM

RT

(なし)

RELATED TERM

(なし)

$

STEM

(なし)

!

SOUNDEX

SQE

(なし)

ストアド・クエリー式

SYN

(なし)

SYNONYM

(なし)

>

THRESHOLD

TR

(なし)

TRANSLATION TERM

TRSYN

(なし)

TRANSLATION TERM SYNONYM

TT

(なし)

TOP TERM

(なし)

*

WEIGHT

(なし)

%

ワイルド・カード文字(複数)

(なし)

_

ワイルド・カード文字(単一)

WITHIN

(なし)

WITHIN