Welcome 微信登录

首页 / 数据库 / MySQL / Oracle 11g Release 1 (11.1) Oracle 文本自定义 CONTEXT 索引的“偏好”

本文内容

  • 关于 Oracle 文本索引提供的存储过程
  • 创建 Preferences
  • 创建 Section Groups 搜索节
  • 使用非索引字和非索引字列表 

关于 Oracle 文本索引提供的存储过程

我们知道 Oracle 文本索引有四种类型:CONTEXTCTXCATCTXRULECTXXPATH。其中 CTXXPATH 已标记废弃,在将来的 Oracle 版本会去掉。默认情况,系统期望你的文本存储在文本列中。这样,你就可以使用没有显示指定任何“偏好(preferences)”的 CREATE INDEX 创建一个文本索引,作为一个可扩展的 CONTEXT 索引类型。系统会自动检测你的语言、文本列的数据类型、文档格式和相应索引偏好的设置。所谓“偏好(preferences)”是你对文本索引的配置,类似 MS SQL Server 的“填充因子”。也就是说,在建立文本索引前,你可以先创建配置,再在创建文本索引时通过 parameter 子句使用。若创建一个 Oracle 文本索引:
  • 可选,确定你自定义索引的“偏好”、节组,或非索引字列表。下表描述这些索引类:
描述
Datastore你的文档如何存储
Filter文档如何转换成纯文本
Lexer索引的语言是什么
Wordlist模糊和词干查询如何扩展
Storage索引数据如何存储
Stop List什么样的词或主题不用索引
Section Group文档的节如何定义
  • 可选,你自定义索引的“偏好”、节组,或非索引字列表。
  • CREATE INDEX 创建文本索引,命名你的索引,指定或不指定索引“偏好”。
更多 Oracle 文本索引要素,包括 Datastore、Filter 、Lexer 、Wordlist、Storage、Section Group 、Classifier、Cluster、Stoplists、System-Defined Preferences 和 System Parameters。 

创建索引偏好

你可以自定义文本索引的“偏好(preferences)”。使用“偏好”来指定索引信息,例如你的文件存储在哪里,你的文档如何过滤。创建“偏好”,并设置其属性。
Datastore Examples
本小节给出 direct、multi-column、URL 和 file 数据存储的例子。
  • 指定 DIRECT_DATASTORE
本例创建一个表,其 CLOB 列存储文本数据。向该表填充两条数据,并使用系统预定义的 preference CTXSYS.DEFAULT_DATASTORE 索引该表,它使用 DIRECT_DATASTORE preference 类型。create table mytable(id number primary key, docs clob); <!--CRLF--> <!--CRLF-->insert into mytable values(111555,"this text will be indexed");<!--CRLF-->insert into mytable values(111556,"this is a default datastore example");<!--CRLF-->commit;<!--CRLF--> <!--CRLF-->create index myindex on mytable(docs) <!--CRLF-->indextype is ctxsys.context <!--CRLF-->parameters ("DATASTORE CTXSYS.DEFAULT_DATASTORE");<!--CRLF-->
  • 指定 MULTI_COLUMN_DATASTORE
本例在三个串联和索引的列上,创建一个名为 "my_multi" 多列数据存储的 preference。  begin<!--CRLF-->ctx_ddl.create_preference("my_multi", "MULTI_COLUMN_DATASTORE");<!--CRLF-->ctx_ddl.set_attribute("my_multi", "columns", "column1, column2, column3");<!--CRLF-->end;<!--CRLF-->
  • 指定 URL_DATASTORE URL 数据存储
本例创建一个名为 "my_url" 的 URL_DATASTORE 偏好,并设置其属性 http_proxyno_proxy timeout。其中,timeout 属性为 300 秒。默认情况下,使用这些属性都没有设置。begin<!--CRLF--> ctx_ddl.create_preference("my_url","URL_DATASTORE");<!--CRLF--> ctx_ddl.set_attribute("my_url","HTTP_PROXY","www-proxy.us.oracle.com");<!--CRLF--> ctx_ddl.set_attribute("my_url","NO_PROXY","us.oracle.com");<!--CRLF--> ctx_ddl.set_attribute("my_url","Timeout","300");<!--CRLF-->end;<!--CRLF-->
  • 指定 FILE_DATASTORE 文件数据存储
本例使用 FILE_DATASTORE 创建一个数据存储的偏好。该属性告诉系统,索引的文件位于操作系统。本例使用 CTX_DDL.SET_ATTRIBUTE 方法来设置 PATH 目录属性为 "/docs"。begin<!--CRLF-->ctx_ddl.create_preference("mypref", "FILE_DATASTORE");<!--CRLF-->ctx_ddl.set_attribute("mypref", "PATH", "/docs"); <!--CRLF-->end;<!--CRLF-->
  • 1
  • 2
  • 3
  • 下一页
Oracle_C# 实现 Oracle Text(全文检索)的一个简单例子关于 Oracle 11g Release 1 (11.1) Oracle Text 应用程序开发相关资讯      Oracle存储过程 
  • Oracle存储过程拼接in语句 & 自定  (今 09:21)
  • 【PL/SQL系列】Oracle存储过程使用  (04月23日)
  • Oracle存储过程及Java调用  (05/28/2015 20:29:33)
  • Java调用Oracle存储过程返回多条结  (04月29日)
  • Oracle中的存储过程简单应用  (04月10日)
  • 判断点是否落在面中的Oracle存储过  (05/09/2015 09:39:30)
本文评论 查看全部评论 (0)
表情: 姓名: 字数


评论声明
    版权所有©石家庄振强科技有限公司2024 冀ICP备08103738号-5 网站地图