次の例では、CTXAPP
ロールを持つmyuser
ユーザーによる簡単なカテゴリの定義、CTXRULE
索引の作成、およびMATCHES
の使用について説明します。
CTXAPP
ロールを持つmyuser
ユーザーとして接続します。
CONNECT myuser;
ルール表を作成して、問合せルールを移入する必要があります。この例では、queries
という表を作成します。各行で、IDを持つカテゴリ、および問合せ文字列で構成されたルールを定義します。
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');
次のように、CTXRULE
索引を作成します。
CREATE INDEX queryx ON queries(query_string) INDEXTYPE IS CTXSYS.CTXRULE;
SELECT
文のWHERE
句でMATCHES
演算子を使用して、ドキュメントを問合せと照合し、分類します。
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 share
前述のように、ドキュメント文字列はカテゴリ1および4と一致します。この分類では、特定の表へのドキュメントの書込みや、ユーザーへの電子メール送信などのアクションを実行できます。