ORACLE9.2里面创建全文索引--(1)

  用Oracle9i和Oracle Text,可以方便而有效地利用标准的SQL工具来构建基于文本的新的开发工具或对现有应用程序进行扩展。应用程序开发人员可以在任何使用文本的Oracle数据库应用程序中充分利用Oracle Text搜索,应用范围可以是现有应用程序中可搜索的注释字段,也可是实现涉及多种文档格式和复杂搜索标准的大型文档管理系统。Oracle Text支持Oracle数据库所支持的大多数语言的基本全文搜索功能。

(1)数据存储逻辑搜索表的所有行,并读取列中的数据。通常,这只是列数据,但有些数据存储使用列数据作为文档数据的指针。例如,URL_DATASTORE 将列数据作为 URL 使用。

(2)过滤器提取文档数据并将其转换为文本表示方式。存储二进制文档 (如 Word 或 Acrobat 文件) 时需要这样做。过滤器的输出不必是纯文本格式 -- 它可以是 XML 或 HTML 之类的文本格式。

(3)分段器提取过滤器的输出信息,并将其转换为纯文本。包括 XML 和 HTML 在内的不同文本格式有不同的分段器。转换为纯文本涉及检测重要文档段标记、移去不可见的信息和文本重新格式化。

(4)词法分析器提取分段器中的纯文本,并将其拆分为不连续的标记。既存在空白字符分隔语言使用的词法分析器,也存在分段复杂的亚洲语言使用的专门词法分析器。

(5)索引引擎提取词法分析器中的所有标记、文档段在分段器中的偏移量以及被称为非索引字的低信息含量字列表,并构建反向索引。倒排索引存储标记和含有这些标记的文档。

我的测试环境P650+AIX5.1里面对将近有70多万纪录的大表(TEXT字段)创建全文索引,一般需要16分钟左右:

ctx_ddl.create_preference('CNDY_ED.', 'CHINESE_LEXER');
上面这个函数第一个参数为“当前用户名.”


CREATE INDEX CIDX_IMAGE_TITLE
    ON IMAGE(TITLE) INDEXTYPE IS CTXSYS.CONTEXT PARAMETERS
    (' MEMORY 50M LEXER CHINESE_LEXER')

CREATE INDEX CIDX_IMAGE_SUMMARY
    ON IMAGE(SUMMARY) INDEXTYPE IS CTXSYS.CONTEXT PARAMETERS
    (' MEMORY 50M LEXER CHINESE_LEXER')
   
CREATE INDEX CIDX_STORY_TITLE
    ON IMAGE(TITLE) INDEXTYPE IS CTXSYS.CONTEXT PARAMETERS
    (' MEMORY 50M LEXER CHINESE_LEXER')
   
CREATE INDEX CIDX_STORY_SUMMARY
    ON IMAGE(SUMMARY) INDEXTYPE IS CTXSYS.CONTEXT PARAMETERS
    (' MEMORY 50M LEXER CHINESE_LEXER')

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4096/viewspace-52442/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/4096/viewspace-52442/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值