造价通

反馈
取消

热门搜词

造价通

取消 发送 反馈意见

Oracle text简单的示例

2018/06/19163 作者:佚名
导读: 这里先给出一个简单示例说利用Oracle Text实现全文检索的方法与步骤,在后面在进行具体的说明。Orcale9i提供了Oracle Text Manager可以简化许多工作,所有在Oracle Text Manager中完成的工作,都可以在通过PL/SQL来实现。要使用Oracle Text,必须具有CTXAPP角色或者是CTXSYS用户。Oracle Text为系统管理员提供CTXSY

这里先给出一个简单示例说利用Oracle Text实现全文检索的方法与步骤,在后面在进行具体的说明。Orcale9i提供了Oracle Text Manager可以简化许多工作,所有在Oracle Text Manager中完成的工作,都可以在通过PL/SQL来实现。要使用Oracle Text,必须具有CTXAPP角色或者是CTXSYS用户。Oracle Text为系统管理员提供CTXSYS用户,为应用程序开发人员提供CTXAPP角色。

CTXSYS用户可执行以下任务:启动Oracle Text服务器,执行CTXAPP角色的所有任务。

具有CTXAPP角色的用户可执行以下任务:创建索引,管理 Oracle Text 数据字典,包括创建和删除首选项,进行Oracle Text 查询,使用 Oracle Text PL/SQL程序包。

使用Oracle Text的步骤:

⑴创建表来保存某些文档。该示例使用一个主关键字列来标识每个文档,使用一个小的VARCHAR2列来保存每个文档。

CREATE TABLE docs (id NUMBER PRIMARY KEY,text VARCHAR2(80));

⑵将两个示例文档置入该表:

INSERT INTO docs VALUES (1,'the first doc');

INSERT INTO docs VALUES (2,'the second doc');

COMMIT;

⑶使用Oracle Text Manager来创建和修改首选项,首选项将与索引相关联。

⑷使用Oracle Text Manager创建文本索引。另外,可以输入以下使用默认首选项的 SQL 语句:

CREATE INDEX doc_index ON docs(text) INDEXTYPE IS CTXSYS.CONTEXT;

⑸使用 CONTAINS 函数,发出基于内容的文档查询。例如:

SELECT id FROM docs WHERE CONTAINS (text,'first') > 0;

这将在文本列包含单词 first (即文档1) 的 docs 中查找所有行。语句中的>0部分是有效的Oracle SQL所必需的,Oracle SQL不支持函数的布尔返回值。

以上只是一个简单的示例,旨在给出使用Oracle Text建立全文索引的完整步骤,归纳起来如下:

⑴建表并装载文本(包含带有需要检索的文本字段)

⑵配置索引

⑶建立索引

⑷发出查询

⑸索引维护:同步与优化(将在后面介绍)

*文章为作者独立观点,不代表造价通立场,除来源是“造价通”外。
关注微信公众号造价通(zjtcn_Largedata),获取建设行业第一手资讯

热门推荐

相关阅读