WEB开发网
开发学院数据库Oracle Oracle9i的全文检索技术 阅读

Oracle9i的全文检索技术

 2006-08-06 12:00:52 来源:WEB开发网   
核心提示: CREATE TABLE docs (id NUMBER PRIMARY KEY, text VACHAR2(80));(2)将两个示例文档置入该表:INSERT INTO docs VALUES (1,'the first doc');INSERT INTO docs V

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

(2)将两个示例文档置入该表:

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

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

COMMIT;

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

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

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

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

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

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

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

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

(2)配置索引

(3)建立索引

(4)发出查询

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

3 文本装载

要实现文本的全文检索首先必须把正确的文本加载到数据库表中,默认的建立索引行为要求将文档装载在文本列中,尽管可以用其它方式 (包括文件系统和 URL 形式)存储文档 (在"数据存储"选项进行设置)。默认情况下,系统应该将文档装载在文本列中。文本列可以是VARCHAR2、CLOB、BLOB、CHAR或BFILE。注意,只有在将Oracle7系统移植到Oracle8的情况下才支持用LONG和LONG RAW 这两个相反的列类型存储文本。不能为列类型NCLOB、DATE和NUMBER建立索引。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:Oraclei 全文检索 技术

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接