本文内容
- 关于 Oracle 文本索引提供的存储过程
- 创建 Preferences
- 创建 Section Groups 搜索节
- 使用非索引字和非索引字列表
关于 Oracle 文本索引提供的存储过程
我们知道 Oracle 文本索引有四种类型:
CONTEXT、
CTXCAT、
CTXRULE 和
CTXXPATH。其中
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 数据存储的例子。
本例创建一个表,其
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_proxy、
no_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 创建一个数据存储的偏好。该属性告诉系统,索引的文件位于操作系统。本例使用
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-->
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)