Oracle 21c 索引(index)を作成して全文検索を実行する方法

環境
Windows 11 Pro 21H2 64bit
Oracle Database 21c Express Edition Release 21.0.0.0.0

書式
CREATE INDEX [UNIQUE|BITMAP] INDEX <インデックス名>
ON <テーブル名> (<カラム名> [ASC|DESC] [,…])
[TABLESPACE <表領域名>];

操作方法
1.テーブルを作成します

create table TESTAC (ID varchar2(2),
                        TEXT varchar2(20),
                        IDX_TEXT varchar2(20));

2.索引を作成します

CREATE INDEX "TESTAC_IDX_01" ON "TESTAC" ("TEXT") 
   INDEXTYPE IS "CTXSYS"."CONTEXT"  PARAMETERS ('REPLACE SYNC(ON COMMIT)')

3.テーブルにデータを挿入します

insert into TESTAC values (1,'東京','東京都内');

insert into TESTAC values (2,'東京1','東京都内1');

insert into TESTAC values (3,'大阪1','大阪1');

4.contains関数を使って全文検索を実行します。
SQL構文

select * from TESTAC where contains(TEXT,'東')>0;

実行結果

ID	TEXT	IDX_TEXT
1	東京	東京都内
2	東京1	東京都内1

 

Oracle 21c

Posted by arkgame