1.启用ctxsys的用户
(可使用ORACLE 管理控制台去启用)
2.在ctxsys用户下给ctx_cx用户赋权限
grant execute on ctx_ddl to ctx_cx;
3. 选择中文词法分析器,ctx_cx下执行
exec ctx_ddl.create_preference('my_chinese', 'chinese_lexer');
4.建立表空间CTX_STORAGE
(以下脚本仅供参考,具体路径和参数设置看具体使用)
CREATETABLESPACE CTX_STORAGE
NOLOGGING
DATAFILE'F:/oracle/oradata/stonehu/CTX_STORAGE.dbf'SIZE10000MEXTENT MANAGEMENTLOCALSEGMENTSPACEMANAGEMENTAUTO
5. 设置全文索引的存储属性
(选择存储的表空间)
BEGIN
ctxsys.CTX_DDL.CREATE_PREFERENCE('CTX_STORAGE', 'BASIC_STORAGE');
ctxsys.CTX_DDL.SET_ATTRIBUTE('CTX_STORAGE','I_TABLE_CLAUSE', 'TABLESPACE idx_context');
ctxsys.CTX_DDL.SET_ATTRIBUTE('CTX_STORAGE','K_TABLE_CLAUSE', 'TABLESPACE idx_context');
ctxsys.CTX_DDL.SET_ATTRIBUTE('CTX_STORAGE','R_TABLE_CLAUSE', 'TABLESPACE idx_context');
ctxsys.CTX_DDL.SET_ATTRIBUTE('CTX_STORAGE','N_TABLE_CLAUSE', 'TABLESPACE idx_context');
ctxsys.CTX_DDL.SET_ATTRIBUTE('CTX_STORAGE','P_TABLE_CLAUSE', 'TABLESPACE idx_context');
ctxsys.CTX_DDL.SET_ATTRIBUTE('CTX_STORAGE','I_INDEX_CLAUSE', 'TABLESPACE idx_context');
END;
/
6.建立全文索引
CREATEINDEXcntxt_t_ry_gzdx_bzONctx_owner.t_ry_gzdx_bz(ssyj) indextypeisctxsys.context
parameters('lexer MY_chinese storage CTX_STORAGE')
7.索引的查询
select * fromctx_owner.t_ry_gzdx_bzwherecontains(ssyj,'诈骗')>0