7.2 The CTXCAT Grammar
The CTXCAT
grammar is the default grammar for CATSEARCH
. This grammar supports logical operations, such as AND
and OR
, as well as phrase queries.
Note:
The Oracle Text indextypeCTXCAT
is deprecated with Oracle Database 23ai. The indextype itself, and it's operator CTXCAT
, can be removed in a future release.Both CTXCAT
and the use of CTXCAT
grammar as an alternative grammar for CONTEXT
queries is deprecated. Instead, Oracle recommends that you use the CONTEXT
indextype, which can provide all the same functionality, except that it is not transactional. Near-transactional behavior in CONTEXT
can be achieved by using SYNC(ON COMMIT)
or, preferably, SYNC(EVERY [time-period])
with a short time period.
CTXCAT
was introduced when indexes were typically a few megabytes in size. Modern, large indexes, can be difficult to manage with CTXCAT
. The addition of index sets to CTXCAT
can be achieved more effectively by the use of FILTER BY
and ORDER BY
columns, or SDATA
, or both, in the CONTEXT
indextype. CTXCAT
is therefore rarely an appropriate choice. Oracle recommends that you choose the more efficient CONTEXT
indextype.
The CATSEARCH
query operators have the following syntax:
Table 7-2 CATSEARCH Query Operator Syntax
Operation | Syntax | Description of Operation |
---|---|---|
Logical |
a b c |
Returns rows that contain a, b and c. |
Logical |
a | b | c |
Returns rows that contain a, b, or c. |
Logical |
a - b |
Returns rows that contain a and not b. |
hyphen with no space |
a-b |
Hyphen treated as a regular character. For example, if you define the hyphen as a skipjoin, then words such as vice-president are treated as the single query term vicepresident. Likewise, if you define the hyphen as a printjoin, then words such as vice-president are treated as vice president with the space in the |
" " |
"a b c" |
Returns rows that contain the phrase "a b c." For example, entering "Sony CD Player" means return all rows that contain this sequence of words. |
( ) |
(A B) | C |
Parentheses group operations. This query is equivalent to the |
To use the CONTEXT
grammar in CATSEARCH
queries, use a query template specification in the text_query
parameter.
You might use the CONTAINS
grammar as such when you need to enter proximity, thesaurus, or ABOUT
queries with a CTXCAT
index.
Related Topics