Oracle 11g Release 1 (11.1) Oracle 文本自定义 CONTEXT 索引的“偏好”

2014-11-24 18:53:25 · 作者: · 浏览: 1

我们知道 Oracle 文本索引有四种类型:CONTEXTCTXCATCTXRULECTXXPATH。其中 CTXXPATH 已标记废弃,在将来的 Oracle 版本会去掉。


默认情况,系统期望你的文本存储在文本列中。这样,你就可以使用没有显示指定任何“偏好(preferences)”的 CREATE INDEX 创建一个文本索引,作为一个可扩展的 CONTEXT 索引类型。系统会自动检测你的语言、文本列的数据类型、文档格式和相应索引偏好的设置。


所谓“偏好(preferences)”是你对文本索引的配置,类似 MS SQL Server 的“填充因子”。也就是说,在建立文本索引前,你可以先创建配置,再在创建文本索引时通过 parameter 子句使用。


若创建一个 Oracle 文本索引:


更多 Oracle 文本索引要素,包括 Datastore、Filter 、Lexer 、Wordlist、Storage、Section Group 、Classifier、Cluster、Stoplists、System-Defined Preferences 和 System Parameters。



你可以自定义文本索引的“偏好(preferences)”。使用“偏好”来指定索引信息,例如你的文件存储在哪里,你的文档如何过滤。创建“偏好”,并设置其属性。


本小节给出 direct、multi-column、URL 和 file 数据存储的例子。


本例创建一个表,其 CLOB 列存储文本数据。向该表填充两条数据,并使用系统预定义的 preference CTXSYS.DEFAULT_DATASTORE 索引该表,它使用 DIRECT_DATASTORE preference 类型。


本例在三个串联和索引的列上,创建一个名为 "my_multi" 多列数据存储的 preference。


本例创建一个名为 "my_url" 的 URL_DATASTORE 偏好,并设置其属性 http_proxyno_proxy timeout。其中,timeout 属性为 300 秒。默认情况下,使用这些属性都没有设置。


本例使用 FILE_DATASTORE 创建一个数据存储的偏好。该属性告诉系统,索引的文件位于操作系统。本例使用 CTX_DDL.SET_ATTRIBUTE 方法来设置 PATH 目录属性为 "/docs"。