Creating a Classification Application
The following example shows how to classify documents by using myuser with the CTXAPP role. You define simple categories, create a CTXRULE index, and use MATCHES.
-
Connect as the appropriate user.
Connect as the
myuserwithCTXAPProle:CONNECT myuser; -
Create the rule table.
In this example, you create a table called
queries.Each row defines a category with an ID and a rule that is a query string.CREATE TABLE queries ( query_id NUMBER, query_string VARCHAR2(80) ); INSERT INTO queries VALUES (1, 'oracle'); INSERT INTO queries VALUES (2, 'larry or ellison'); INSERT INTO queries VALUES (3, 'oracle and text'); INSERT INTO queries VALUES (4, 'market share'); -
Create your
CTXRULEindex.CREATE INDEX queryx ON queries(query_string) INDEXTYPE IS CTXSYS.CTXRULE; -
Use the
MATCHESoperator in theWHEREclause of aSELECTstatement to match documents to queries and then classify the documents.COLUMN query_string FORMAT a35; SELECT query_id,query_string FROM queries WHERE MATCHES(query_string, 'Oracle announced that its market share in databases increased over the last year.')>0; QUERY_ID QUERY_STRING ---------- ----------------------------------- 1 oracle 4 market shareAs shown, the document string matches categories 1 and 4. With this classification, you can perform an action, such as writing the document to a specific table or emailing a user.
See Also: Classifying Documents in Oracle Text for more extended classification examples