ORACLE TEXT DATASTORE PREFERENCE(一)
Oracle Text功能十分強(qiáng)大,可是文檔上給出的例子總是過于簡(jiǎn)單,而且可能是為了減少篇幅,不少例子只給出了其中關(guān)鍵的幾步,但是對(duì)于初學(xué)者而言,閱讀這樣的例子很難對(duì)全文索引的創(chuàng)建有一個(gè)清晰的了解,而更多的時(shí)候可能會(huì)使初學(xué)者更加迷茫。
打算通過一系列的文章對(duì)Oracle全文索引做一個(gè)比較詳細(xì)的描述。里面會(huì)對(duì)包含很多例子,而且例子會(huì)覆蓋Oracle全文索引的大部分內(nèi)容。
這篇文章首先從全文索引的DATASTORE屬性開始,介紹DATASTORE中的最簡(jiǎn)單的DIRECT DATASTORE。
Oracle的全文索引不要求被索引的文章一定存儲(chǔ)在數(shù)據(jù)庫(kù)中,不過如果文章存儲(chǔ)在數(shù)據(jù)庫(kù)的一列中,那么這種情況建立索引是最簡(jiǎn)單的。
SQL> CREATE TABLE T (ID NUMBER, DOCS VARCHAR2(4000));
表已創(chuàng)建。
SQL> INSERT INTO T VALUES (1, 'This is a sample for Oracle TEXT.');
已創(chuàng)建?1 行。
SQL> INSERT INTO T VALUES (2, 'This is a direct database store sample');
已創(chuàng)建?1 行。
SQL> COMMIT;
提交完成。
對(duì)于上面提到的DIRECT DATASTORE類型,下面三種創(chuàng)建索引方式是等價(jià)的:
SQL> CREATE INDEX IND_T_DOCS ON T (DOCS) INDEXTYPE IS CTXSYS.CONTEXT;
索引已創(chuàng)建。
SQL> SELECT * FROM T WHERE CONTAINS(DOCS, 'DATABASE') > 0;
ID DOCS
---------- ----------------------------------------
2 This is a direct database store sample
SQL> DROP INDEX IND_T_DOCS;
索引已丟棄。
SQL> CREATE INDEX IND_T_DOCS ON T (DOCS) INDEXTYPE IS CTXSYS.CONTEXT
2 PARAMETERS ('DATASTORE CTXSYS.DEFAULT_DATASTORE');
索引已創(chuàng)建。
SQL> SELECT * FROM T WHERE CONTAINS(DOCS, 'DATABASE') > 0;
ID DOCS
---------- ----------------------------------------
2 This is a direct database store sample
SQL> DROP INDEX IND_T_DOCS;
索引已丟棄。
SQL> CREATE INDEX IND_T_DOCS ON T (DOCS) INDEXTYPE IS CTXSYS.CONTEXT
2 PARAMETERS ('DATASTORE CTXSYS.DIRECT_DATASTORE');
索引已創(chuàng)建。
SQL> SELECT * FROM T WHERE CONTAINS(DOCS, 'DATABASE') > 0;
ID DOCS
---------- ----------------------------------------
2 This is a direct database store sample
上面給出了一個(gè)最簡(jiǎn)單的全文索引的例子。
另外,由DR$開頭的4張表是系統(tǒng)為了支持全文索引而自動(dòng)生成的,不過這4張表的用處就不再這里討論了。
SQL> SELECT * FROM TAB;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
DR$IND_T_DOCS$I TABLE
DR$IND_T_DOCS$K TABLE
DR$IND_T_DOCS$N TABLE
DR$IND_T_DOCS$R TABLE
T TABLE
總結(jié)
以上是生活随笔為你收集整理的ORACLE TEXT DATASTORE PREFERENCE(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DDL语句为什么不能回滚
- 下一篇: ORACLE TEXT DATASTOR