關(guān)于 Oracle 文本索引提供的存儲過程我們知道 Oracle 文本索引有四種類型:CONTEXT、CTXCAT、CTXRULE 和 CTXXPATH。其中 CTXXPAT
本文內(nèi)容
我們知道 Oracle 文本索引有四種類型:CONTEXT、CTXCAT、CTXRULE 和 CTXXPATH。其中 CTXXPATH 已標記廢棄,在將來的 Oracle 版本會去掉。
默認情況,系統(tǒng)期望你的文本存儲在文本列中。這樣,你就可以使用沒有顯示指定任何“偏好(preferences)”的 CREATE INDEX 創(chuàng)建一個文本索引,作為一個可擴展的 CONTEXT 索引類型。系統(tǒng)會自動檢測你的語言、文本列的數(shù)據(jù)類型、文檔格式和相應(yīng)索引偏好的設(shè)置。
所謂“偏好(preferences)”是你對文本索引的配置,類似 MS SQL Server 的“填充因子”。也就是說,在建立文本索引前,你可以先創(chuàng)建配置,再在創(chuàng)建文本索引時通過 parameter 子句使用。
若創(chuàng)建一個 Oracle 文本索引:
類
描述
Datastore
你的文檔如何存儲
Filter
文檔如何轉(zhuǎn)換成純文本
Lexer
索引的語言是什么
Wordlist
模糊和詞干查詢?nèi)绾螖U展
Storage
索引數(shù)據(jù)如何存儲
Stop List
什么樣的詞或主題不用索引
Section Group
文檔的節(jié)如何定義
更多 Oracle 文本索引要素,包括 Datastore、Filter 、Lexer 、Wordlist、Storage、Section Group 、Classifier、Cluster、Stoplists、System-Defined Preferences 和 System Parameters。
創(chuàng)建索引偏好你可以自定義文本索引的“偏好(preferences)”。使用“偏好”來指定索引信息,例如你的文件存儲在哪里,你的文檔如何過濾。創(chuàng)建“偏好”,并設(shè)置其屬性。
Datastore Examples本小節(jié)給出 direct、multi-column、URL 和 file 數(shù)據(jù)存儲的例子。
本例創(chuàng)建一個表,其 CLOB 列存儲文本數(shù)據(jù)。向該表填充兩條數(shù)據(jù),并使用系統(tǒng)預(yù)定義的 preference CTXSYS.DEFAULT_DATASTORE 索引該表,它使用 DIRECT_DATASTORE preference 類型。
, docs clob); insert into mytable values(111555,'this text will be indexed');insert into mytable values(111556,'this is a default datastore example');commit; create index myindex on mytable(docs) indextype is ctxsys.context parameters ('DATASTORE CTXSYS.DEFAULT_DATASTORE');
本例在三個串聯(lián)和索引的列上,創(chuàng)建一個名為 "my_multi" 多列數(shù)據(jù)存儲的 preference。
beginctx_ddl.create_preference('my_multi', 'MULTI_COLUMN_DATASTORE');ctx_ddl.set_attribute('my_multi', 'columns', 'column1, column2, column3');end;
本例創(chuàng)建一個名為 "my_url" 的 URL_DATASTORE 偏好,并設(shè)置其屬性 http_proxy、no_proxy 和 timeout。其中,timeout 屬性為 300 秒。默認情況下,使用這些屬性都沒有設(shè)置。
begin ctx_ddl.create_preference('my_url','URL_DATASTORE'); ctx_ddl.set_attribute('my_url','HTTP_PROXY','www-proxy.us.oracle.com'); ctx_ddl.set_attribute('my_url','NO_PROXY','us.oracle.com'); ctx_ddl.set_attribute('my_url','Timeout','300');end;
本例使用 FILE_DATASTORE 創(chuàng)建一個數(shù)據(jù)存儲的偏好。該屬性告訴系統(tǒng),,索引的文件位于操作系統(tǒng)。本例使用 CTX_DDL.SET_ATTRIBUTE 方法來設(shè)置 PATH 目錄屬性為 "/docs"。
beginctx_ddl.create_preference('mypref', 'FILE_DATASTORE');ctx_ddl.set_attribute('mypref', 'PATH', '/docs'); end;
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com