----------------------- Page 1-----------------------
全文检索(oracle text)
Oracle Text 使 Oracle9i 具备了强大的文本检索能力和智能化的文本管理能力,Oracle
Text 是 Oracle9i 采用的新名称,在 oracle8/8i 中被称为oracle intermedia text,oracle8 以前是
oracle context cartridge 。Oracle Text 的索引和查找功能并不局限于存储在数据库中的数据。
它可以对存储于文件系统中的文档进行检索和查找,并可检索超过 150 种文档类型,包括
Microsoft Word 、PDF 和 XML 。Oracle Text 查找功能包括模糊查找、词干查找(搜索 mice
和查找 mouse )、通配符、相近性等查找方式,以及结果分级和关键词突出显示等。你甚至
可以增加一个词典,以查找搭配词,并找出包含该搭配词的文档。
Oracle text 需要为可检索的数据项建立索引,用户才能够通过搜索查找内容,索引进
程是根据管道建模的,在这个管道中,数据经过一系列的转换后,将其关键字会添加到索引
中。该索引进程分为多个阶段,如下图
1.数据检索(Datastore ):只是将数据从数据存储(例如web 页面、数据库大型对象或本
地文件系统)中取出,然后作为数据流传送到下一个阶段。
2. 过滤(Filter) :过滤器负责将各种文件格式的数据转换为纯文本格式,索引管道中的其
他组件只能处理纯文本数据,不能识别 Ms word 或 excel 等文件格式。
3. 分段(Sectioner):分段器添加关于原始数据项结构的元数据。
4. 词法分析(Lexer):根据数据项的语言将字符流分为几个字词。
5. 索引(Index):最后一个阶段将关键字添加到实际索引中。
测试环境:
Linux AS release 4 (Nahant Update 3) , oracle10g (10.2.0.2.0)
内容简介:
本文档主要以实验为主,文档中包含了大量的实验例子,部分测试用例来自 document,
部分来自网友的测试,所有的例子都在 oracle10g 中测试通过。
----------------------- Page 2-----------------------
(1).
配置 oracle text
9i 之前,Oracle Text 不是默认安装的,必须手工安装。检查数据库中是否有 ctxsys 用户
和 ctxapp 脚色,如果没有这个用户和角色,这意味着你在创建数据库时没有安装 oracle text
功能,需要先配置上该功能。
9i 安装 text
--创建表空间
SQL>create tablespace drsys datafile '/opt/oracle10g/oradata/10gtest/drsys01.dbf' size
100m;
SQL> connect / as sysdba
--创建 ctxsys 用户
SQL> @?/ctx/admin/dr0csys password defaul
t_tablespace_name temporary_tablespace_name
SQL> connect ctxsys/password
--创建数据字典
SQL> @?/ctx/admin/dr0inst @?/ctx/lib/libc