使用Oracle Text构建全文搜索应用程序(4)

来源:未知 责任编辑:责任编辑 发表时间:2014-04-20 03:42 点击:


用户索引
Oracle Text 可为来自不同数据源的数据建立索引。Oracle Text 可用于问题跟踪系统,提供对问题元数据的全文搜索。在默认情况下,您可为单个列中的值建立索引,但是,如果要合并多个表的数据,您需要创建一个自定义的 PL/SQL 过滤器过程。我将演示如何创建这样的过程,这个过程将起到存储抽象的作用。然后,该索引进程将迭代文本表中所有的行,为每一行调用过滤器过程。过滤器过程将返回所有与问题相关的有待建立索引的文本。

  -- declare indexing procedure
  CREATE PACKAGE ot_search AS
  PROCEDURE issue_filter(rid IN ROWID, tlob IN OUT NOCOPY CLOB);
  END ot_search;
  /
  -- define indexing procedure
  CREATE PACKAGE BODY ot_search AS
  PROCEDURE issue_filter(rid IN ROWID, tlob IN OUT NOCOPY CLOB) IS
  BEGIN
  FOR c1 IN (SELECT author, summary, description FROM issues WHERE rowid = rid)
  LOOP
  dbms_lob.writeappend(tlob, LENGTH(c1.summary)+1, c1.summary || );
  dbms_lob.writeappend(tlob, LENGTH(c1.author)+1, c1.author || );
  dbms_lob.writeappend(tlob, LENGTH(c1.description), c1.description);
  END LOOP;
  END issue_filter;
  END ot_search;
  /
  -- define datastore preference for issues
  BEGIN
  ctx_ddl.create_preference(issue_store, user_datastore);
  ctx_ddl.set_attribute(issue_store, procedure, ot_search.issue_filter);
  ctx_ddl.s

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • Table函数使用简介
  • Oracle数据库Constraint约束的常用操作及异常处理
  • Bulk Collect性能分析(zz)
  • export/import的使用
  • OCP043第十五讲 Database Security
  • ORACLE10gr2数据导入MySQL方案
  • oracle 让sys用户可以使用isqlplus
  • 在oracle数据库下使用iSQL*Plus DBA访问数据库
  • Oracle行列转换小结
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1