您的位置:首页 > 数据库 > Oracle

ORACLE全文索引的创建查询实例

2012-06-18 14:54 183 查看
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

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息