With Oracle Text, you can create indexes of several types using CREATE
INDEX
. Table 3-1 describes each index type, its purpose, and the features it supports.
Table 3-1 Oracle Text Index Types
Index Type | Description | Supported Preferences and Parameters | Query Operator | Notes |
---|---|---|---|---|
|
Use this index to build a text retrieval application when your text consists of large coherent documents. You can index documents of different formats such as MS Word, HTML or plain text. You can customize the index in a variety of ways. This index type requires |
All These supported parameters include the index partition clause, and the format, charset, and language columns. |
Grammar is called the The |
Supports all documents services and query services. Supports indexing of partitioned text tables. Supports |
|
Use this index type for better mixed query performance. Typically, with this index type, you index small documents or text fragments. Other columns in the base table, such as item names, prices, and descriptions can be included in the index to improve mixed query performance. This index type is transactional, automatically updating itself after DML to base table. No |
Format, charset, and language columns not supported. Table and index partitioning not supported. |
Grammar is called The Theme querying is supported. |
This index is larger and takes longer to build than a The size of a The |
|
Use |
|
Single documents (plain text, HTML, or XML) can be classified using the |
An Oracle Text index is an Oracle Database domain index. To build your query application, you can create an index of type CONTEXT
with a mixture of text and structured data columns, and query it with the CONTAINS
operator.
You create an index from a populated text table. In a query application, the table must contain the text or pointers to where the text is stored. Text is usually a collection of documents, but can also be small text fragments.
For better performance for mixed queries, you can create a CONTEXT
index with FILTER
BY
and/or ORDER
BY
clauses to specify relational columns that will be used in structured criteria of the mixed query. Query this index with the CONTAINS
operator.
Use the CTXCAT
index type when your application relies heavily on mixed queries to search small documents or descriptive text fragments based on related criteria such as dates or prices. Query this index with the CATSEARCH
operator.
To build a document classification application using simple or rule-based classification, create an index of type CTXRULE
. This index classifies plain text, HTML, or XML documents using the MATCHES
operator. Store your defining query set in the text table you index.
If you are building a new application that uses XML data, Oracle recommends that instead of using CTXRULE
, you use XMLIndex
. For information about XMLIndex
and indexing XMLType
data, see Oracle XML DB Developer's Guide.
Create a text index as a type of extensible index to Oracle Database using standard SQL. This means that an Oracle Text index operates like an Oracle Database index. It has a name by which it is referenced and can be manipulated with standard SQL statements.
The benefits of a creating an Oracle Text index include fast response time for text queries with the CONTAINS
, CATSEARCH
, and MATCHES
Oracle Text operators. These operators query the CONTEXT
, CTXCAT
, and CTXRULE
index types respectively.
Because a Transparent Data Encryption-enabled column does not support domain indexes, it cannot be used with Oracle Text. However, you can create an Oracle Text index on a column in a table stored in a Transparent Data Encryption-enabled tablespace.