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