A Oracle Text Result Tables

This appendix describes the structure of the result tables used to store the output generated by the procedures in the CTX_QUERY, CTX_DOC, and CTX_THES packages.

The following topics are discussed in this appendix:

A.1 CTX_QUERY Result Tables

For the CTX_QUERY procedures that return results, tables for storing the results must be created before the procedure is called. The tables can be named anything, but must include columns with specific names and data types.

This section describes the following types of result tables, and their required columns:

A.1.1 EXPLAIN Table

Table A-1 describes the structure of the table to which CTX_QUERY.EXPLAIN writes its results.

Table A-1 EXPLAIN Result Table

Column Name Datatype Description

EXPLAIN_ID

VARCHAR2(30)

The value of the explain_id argument specified in the FEEDBACK call.

ID

NUMBER

A number assigned to each node in the query execution tree. The root operation node has ID =1. The nodes are numbered in a top-down, left-first manner as they appear in the parse tree.

PARENT_ID

NUMBER

The ID of the execution step that operates on the output of the ID step. Graphically, this is the parent node in the query execution tree. The root operation node (ID =1) has PARENT_ID = 0.

OPERATION

VARCHAR2(30)

Name of the internal operation performed. Refer to Table A-2 for possible values.

OPTIONS

VARCHAR2(30)

Characters that describe a variation on the operation described in the OPERATION column. When an OPERATION has more than one OPTIONS associated with it, OPTIONS values are concatenated in the order of processing. See Table A-3 for possible values.

OBJECT_NAME

VARCHAR2(80)

Section name, wildcard term, weight, or threshold value or term to lookup in the index.

POSITION

NUMBER

The order of processing for nodes that all have the same PARENT_ID.The positions are numbered in ascending order starting at 1.

CARDINALITY

NUMBER

Reserved for future use. You should create this column for forward compatibility.


A.1.1.1 Operation Column Values

Table A-2 shows the possible values for the OPERATION column of the EXPLAIN table.

Table A-2 EXPLAIN Table OPERATION Column

Operation Value Query Operator Equivalent Symbol

ABOUT

ABOUT

(none)

ACCUMULATE

ACCUM

,

AND

AND

&

COMPOSITE

(none)

(none)

EQUIVALENCE

EQUIV

=

MINUS

MINUS

-

NEAR

NEAR

;

NOT

NOT

~

NO_HITS

(no hits will result from this query)

 

OR

OR

|

PHRASE

(a phrase term)

 

SECTION

(section)

 

THRESHOLD

>

>

WEIGHT

*

*

WITHIN

within

(none)

WORD

(a single term)

 

A.1.1.2 OPTIONS Column Values

Table A-3 list the possible values for the OPTIONS column of the EXPLAIN table.

Table A-3 EXPLAIN Table OPTIONS Column

Options Value Description

($)

Stem

(?)

Fuzzy

(!)

Soundex

(T)

Order for ordered Near.

(F)

Order for unordered Near.

(n)

A number associated with the max_span parameter for the Near operator.

[9]

Indicates that index_stems is set and query is using token_type 9.


A.1.2 HFEEDBACK Table

Table A-4 describes the table to which CTX_QUERY.HFEEDBACK writes its results.

Table A-4 HFEEDBACK Results Table

Column Name Datatype Description

FEEDBACK_ID

VARCHAR2(30)

The value of the feedback_id argument specified in the HFEEDBACK call.

ID

NUMBER

A number assigned to each node in the query execution tree. The root operation node has ID =1. The nodes are numbered in a top-down, left-first manner as they appear in the parse tree.

PARENT_ID

NUMBER

The ID of the execution step that operates on the output of the ID step. Graphically, this is the parent node in the query execution tree. The root operation node (ID =1) has PARENT_ID = 0.

OPERATION

VARCHAR2(30)

Name of the internal operation performed. Refer to Table A-5 for possible values.

OPTIONS

VARCHAR2(30)

Characters that describe a variation on the operation described in the OPERATION column. When an OPERATION has more than one OPTIONS associated with it, OPTIONS values are concatenated in the order of processing. See Table A-6 for possible values.

OBJECT_NAME

VARCHAR2(80)

Section name, wildcard term, weight, threshold value or term to lookup in the index.

POSITION

NUMBER

The order of processing for nodes that all have the same PARENT_ID.The positions are numbered in ascending order starting at 1.

BT_FEEDBACK

CTX_FEEDBACK_TYPE

Stores broader feedback terms. See Table A-7.

PT_FEEDBACK

CTX_FEEDBACK_TYPE

Stores related feedback terms. See Table A-7.

NT_FEEDBACK

CTX_FEEDBACK_TYPE

Stores narrower feedback terms. See Table A-7.


A.1.2.1 Operation Column Values

Table A-5 shows the possible values for the OPERATION column of the HFEEDBACK table.

Table A-5 HFEEDBACK Results Table OPERATION Column

Operation Value Query Operator Equivalent Symbol

ABOUT

ABOUT

(none)

ACCUMULATE

ACCUM

,

AND

AND

&

EQUIVALENCE

EQUIV

=

MINUS

MINUS

-

NEAR

NEAR

;

NOT

NOT

~

OR

OR

|

SECTION

(section)

 

TEXT

word or phrase of a text query

 

THEME

word or phrase of an ABOUT query

 

THRESHOLD

>

>

WEIGHT

*

*

WITHIN

within

(none)


A.1.2.2 OPTIONS Column Values

Table A-6 list the values for the OPTIONS column of the HFEEDBACK table.

Table A-6 HFEEDBACK Results Table OPTIONS Column

Options Value Description

(T)

Order for ordered Near.

(F)

Order for unordered Near.

(n)

A number associated with the max_span parameter for the Near operator.


A.1.2.3 CTX_FEEDBACK_TYPE

The CTX_FEEDBACK_TYPE is a nested table of objects. This datatype is pre-defined in the CTXSYS schema. Use this type to define the columns BT_FEEDBACK, RT_FEEDBACK, and NT_FEEDBACK.

The nested table CTX_FEEDBACK_TYPE holds objects of type CTX_FEEDBACK_ITEM_TYPE, which is also pre-defined in the CTXSYS schema. This object is defined with three members and one method as follows:

Table A-7 CTX_FEEDBACK_ITEM_TYPE

CTX_FEEDBACK_ITEM_TYPE Members and Methods Type Description

text

NUMBER

Feedback term.

cardinality

NUMBER

(reserved for future use.)

score

NUMBER

(reserved for future use.)


The SQL code that defines these objects is as follows:

CREATE OR REPLACE TYPE ctx_feedback_type AS TABLE OF ctx_feedback_item_type;
 
CREATE OR REPLACE TYPE ctx_feedback_item_type AS OBJECT 
(text        VARCHAR2(80), 
 cardinality NUMBER, 
 score       NUMBER, 
 MAP MEMBER FUNCTION rank RETURN REAL, 
 PRAGMA RESTRICT_REFERENCES (rank, RNDS, WNDS, RNPS, WNPS) 
); 
 
CREATE OR REPLACE TYPE BODY ctx_feedback_item_type AS 
   MAP MEMBER FUNCTION rank RETURN REAL IS 
   BEGIN 
      RETURN score; 
   END rank; 
END; 

See Also:

For an example of how to select from the HFEEDBACK table and its nested tables, refer to CTX_QUERY.HFEEDBACK in Chapter 10, "CTX_QUERY Package"

A.2 CTX_DOC Result Tables

The CTX_DOC procedures return results stored in a table. Before calling a procedure, you must create the table. The tables can be named anything, but must include columns with specific names and data types.

This section describes the following result tables and their required columns:

A.2.1 Filter Table

A filter table stores one row for each filtered document returned by CTX_DOC.FILTER. Filtered documents can be plain text or HTML.

When you call CTX_DOC.FILTER for a document, the document is processed through the filter defined for the text column and the results are stored in the filter table you specify.

Filter tables can be named anything, but must include the following columns, with names and datatypes as specified:

Table A-8 FILTER Result Table

Column Name Type Description

QUERY_ID

NUMBER

The identifier for the results generated by a particular call to CTX_DOC.FILTER (only populated when table is used to store results from multiple FILTER calls)

DOCUMENT

CLOB

Text of the document, stored in plain text or HTML.


A.2.2 Gist Table

A Gist table stores one row for each Gist/theme summary generated by CTX_DOC.GIST.

Gist tables can be named anything, but must include the following columns, with names and data types as specified:

Table A-9 Gist Table

Column Name Type Description

QUERY_ID

NUMBER

Query ID.

POV

VARCHAR2(80)

Document theme. Case depends of how themes were used in document or represented in the knowledge base.

POV has the value of GENERIC for the document GIST.

GIST

CLOB

Text of Gist or theme summary, stored as plain text


A.2.3 Highlight Table

A highlight table stores offset and length information for highlighted terms in a document. This information is generated by CTX_DOC.HIGHLIGHT. Highlighted terms can be the words or phrases that satisfy a word or an ABOUT query.

If a document is formatted, the text is filtered into either plain text or HTML and the offset information is generated for the filtered text. The offset information can be used to highlight query terms for the same document filtered with CTX_DOC.FILTER.

Highlight tables can be named anything, but must include the following columns, with names and datatypes as specified:

Table A-10 Highlight Table

Column Name Type Description

QUERY_ID

NUMBER

The identifier for the results generated by a particular call to CTX_DOC.HIGHLIGHT (only populated when table is used to store results from multiple HIGHLIGHT calls)

OFFSET

NUMBER

The position of the highlight in the document, relative to the start of document which has a position of 1.

LENGTH

NUMBER

The length of the highlight.


A.2.4 Markup Table

A markup table stores documents in plain text or HTML format with the query terms in the documents highlighted by markup tags. This information is generated when you call CTX_DOC.MARKUP.

Markup tables can be named anything, but must include the following columns, with names and datatypes as specified:

Table A-11 Markup Table

Column Name Type Description

QUERY_ID

NUMBER

The identifier for the results generated by a particular call to CTX_DOC.MARKUP (only populated when table is used to store results from multiple MARKUP calls)

DOCUMENT

CLOB

Marked-up text of the document, stored in plain text or HTML format


A.2.5 Theme Table

A theme table stores one row for each theme generated by CTX_DOC.THEMES. The value stored in the THEME column is either a single theme phrase or a string of parent themes, separated by colons.

Theme tables can be named anything, but must include the following columns, with names and data types as specified:

Table A-12 Theme Table

Column Name Type Description

QUERY_ID

NUMBER

Query ID

THEME

VARCHAR2(2000)

Theme phrase or string of parent themes separated by colons (:).

WEIGHT

NUMBER

Weight of theme phrase relative to other theme phrases for the document.


A.2.6 Token Table

A token table stores the text tokens for a document as output by the CTX_DOC.TOKENS procedure. Token tables can be named anything, but must include the following columns, with names and data types as specified.

Table A-13 Token Table

Column Name Type Description

QUERY_ID

NUMBER

The identifier for the results generated by a particular call to CTX_DOC.HIGHLIGHT (only populated when table is used to store results from multiple HIGHLIGHT calls)

TOKEN

VARCHAR2(64)

The token string in the text.

OFFSET

NUMBER

The position of the token in the document, relative to the start of document which has a position of 1.

LENGTH

NUMBER

The character length of the token.


A.3 CTX_THES Result Tables and Data Types

The CTX_THES expansion functions such as BT, NT, and SYN can return the expansions in a table of type EXP_TAB. Specify the name of your table with the restab argument.

A.3.1 EXP_TAB Table Type

The EXP_TAB table type is a table of rows of type EXP_REC.

The EXP_REC and EXP_TAB types are defined as follows in the CTXSYS schema:

type exp_rec is record (
    xrel varchar2(12),
    xlevel number,
    xphrase varchar2(256)
);

type exp_tab is table of exp_rec index by binary_integer;

When you call a thesaurus expansion function and specify restab, the system returns the expansion as an EXP_TAB table. Each row in this table is of type EXP_REC and represents a word or phrase in the expansion. Table A-14 describes the fields in EXP_REC:

Table A-14 EXP_TAB Table Type (EXP_REC)

EXP_REC Field Description

xrel

The xrel field contains the relation of the term to the input term (for example, 'SYN', 'PT', 'RT', and so on). The xrel value is PHRASE when the input term appears in the expansion. For translations, the xrel value is the language.

xlevel

The xlevel field is the level of the relation. This is used mainly when xrel is a hierarchical relation (BT*/NT*).

The xlevel field is 0 when xrel is PHRASE.

The xlevel field is 2 for translations of synonyms under TRSYN.

The xlevel field is 1 for operators that are not hierarchical, such as PT and RT.

xphrase

The xphrase is the related term. This includes a qualifier in parentheses, if one exists for the related term. Compound terms are not de-compounded.