Создадим таблицу классификации, заполним ее правилами и построим индекс:
CREATE TABLE category ( id NUMBER, query VARCHAR2 ( 2000 ) );
INSERT INTO category VALUES ( 1, 'rac | "real application clusters"' ); INSERT INTO category VALUES ( 2, 'linux | unix' ); INSERT INTO category VALUES ( 3, 'installation | configuration' ); INSERT INTO category VALUES ( 4, 'ms windows OR microsoft NEAR windows' ); INSERT INTO category VALUES ( 5, 'standby AND switchover' );
CREATE INDEX category_idx ON category ( query ) INDEXTYPE IS CTXSYS.CTXRULE;
Проверка:
CTX> COLUMN query FORMAT A60 CTX> SELECT id, query FROM category WHERE MATCHES ( query, :htmlclob ) > 0;
ID QUERY ---------- ---------------------------------------- 1 rac | "real application clusters" 2 linux | unix 3 installation | configuration 4 ms windows OR microsoft NEAR windows
В данном случае документ удовлетворяет четырем категориям имеющейся классификации под номерами 1 - 4 и не удовлетворяет категории под номером 5.