- 概述
- 创建一个 Oracle 全文检索用户
- 如何使用 CONTEXT 索引
- 如何使用 CTXCAT 索引
- 如何使用 CTXRULE 索引
- 本 BLOG 相关链接
本文描述如何创建一个 Oracle 全文检索开发者用户,以及生成一个简单的文本查询,和目录一个应用程序。对于每个应用程序类型,本文通过基本的 SQL 语句一步步介绍加载、索引和查询。
注意:
为了增加可读性,并直接剪切复制代码到 SQL*Plus,本文 SQL> 提示符已经去掉。
创建一个 Oracle 全文检索用户在使用 Oracle 全文检索的索引和其 PL/SQL 包之前,需要创建一个带 CTXAPP 角色的用户。该角色使你可以做如下事情:
- 创建和删除 Oracle 全文检索的索引引用
- 使用 Oracle 全文检索 PL/SQL 包
若进行全文检索,以数据库管理员身份登录,按下面步骤:
1)创建用户。建一个用户名/密码为 MYUSER / myuser_password 的用户:
CREATE USER myuser IDENTIFIED BY myuser_password;
2)授权角色。为该用户授权 RESOURCE、CONNECT 和 CTXAPP 角色:
GRANT RESOURCE, CONNECT, CTXAPP TO MYUSER;
3)授权执行 CTX PL/SQL 包的权限
Oracle 全文检索包含很多包,可以让你完成从同步 Oracle 全文检索索引到高亮显示文本的所有动作。例如,CTX_DDL 包包含了 SYNC_INDEX 过程,该存储过程可以同步全文检索的索引。
若想调用这些存储过程,你的应用程序需要有执行这些包的权限。例如,为 MYUSER 用户授权执行所有 Oracle 全文的包的权限,如下代码:
GRANT EXECUTE ON CTXSYS.CTX_CLS TO myuser;
GRANT EXECUTE ON CTXSYS.CTX_DDL TO myuser;
GRANT EXECUTE ON CTXSYS.CTX_DOC TO myuser;
GRANT EXECUTE ON CTXSYS.CTX_OUTPUT TO myuser;
GRANT EXECUTE ON CTXSYS.CTX_QUERY TO myuser;
GRANT EXECUTE ON CTXSYS.CTX_REPORT TO myuser;
GRANT EXECUTE ON CTXSYS.CTX_THES TO myuser;
GRANT EXECUTE ON CTXSYS.CTX_ULEXER TO myuser;