oracle全文索引之datastore_1_DIRECT_DATASTORE
Oracle Text功能十分強大,開始學習,主要參考yangtingkun的blog和文件進行。
第一步先搞清楚datastore的型別。
[@more@]DATASTORE的型別如下:DIRECT_DATASTORE
MULTI_COLUMN_DATASTORE
DETAIL_DATASTORE
FILE_DATASTORE
NESTED_DATASTORE
URL_DATASTORE
USER_DATASTORE
下面就各種型別進行測試,DIRECT_DATASTORE是最簡單的,預設是就是用這種型別
Oracle的全文索引不要求被索引的文章一定儲存在資料庫中,不過如果文章儲存在資料庫的一列中,那麼這種情
況建立索引是最簡單的。
SQL> CREATE TABLE T (ID NUMBER, DOCS VARCHAR2(4000));
表已建立。
SQL> INSERT INTO T VALUES (1, 'This is a sample for Oracle TEXT.');
已建立 1 行。
SQL> INSERT INTO T VALUES (2, 'This is a direct database store sample');
已建立 1 行。
SQL> COMMIT;
提交完成。
對於上面提到的DIRECT DATASTORE型別,下面三種建立索引方式是等價的:
SQL> CREATE INDEX IND_T_DOCS ON T (DOCS) INDEXTYPE IS CTXSYS.CONTEXT;
索引已建立。
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');
索引已建立。
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');
索引已建立。
SQL> SELECT * FROM T WHERE CONTAINS(DOCS, 'DATABASE') > 0;
ID DOCS
---------- ----------------------------------------
2 This is a direct database store sample
上面給出了一個最簡單的全文索引的例子。
另外,由DR$開頭的4張表是系統為了支援全文索引而自動生成的,不過這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
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/271283/viewspace-1022072/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle全文索引之STORAGE PREFERENCEOracle索引
- oracle全文索引之WORDLIST PREFERENCEOracle索引
- oracle全文索引之幾個關鍵表Oracle索引
- oracle全文索引之commit與DML操作Oracle索引MIT
- oracle全文索引之如何實現查詢Oracle索引
- oracle全文索引之STOPLIST_4_MULTI_STOPLISTOracle索引
- oracle全文索引之STOPLIST_3_DEFAULT_STOPLISTOracle索引
- oracle全文索引之STOPLIST_2_EMPTY_STOPLISTOracle索引
- oracle全文索引之STOPLIST_1_BASIC_STOPLISTOracle索引
- oracle全文索引之LEXER_4_MULTI_LEXEROracle索引
- oracle全文索引之LEXER_3_DEFAULT_LEXEROracle索引
- oracle全文索引之LEXER_2_CHINESE_LEXEROracle索引
- oracle全文索引之LEXER_1_BASIC_LEXEROracle索引
- oracle全文索引之FILTER_4_PROCEDURE_FILTEROracle索引Filter
- oracle全文索引之FILTER_3_FORMAT_COLUMNOracle索引FilterORM
- oracle全文索引之FILTER_1_NULL_FILTEROracle索引FilterNull
- oracle全文索引之datastore_6_NESTED_DATASTOREOracle索引AST
- oracle全文索引之datastore_5_detail_datastoreOracle索引ASTAI
- oracle全文索引之datastore_4_URL_DATASTOREOracle索引AST
- oracle全文索引之datastore_3_FILE_DATASTOREOracle索引AST
- Oracle:全文索引Oracle索引
- oracle全文索引之配置全文檢索環境Oracle索引
- oracle 之全文索引表的分割槽交換案例Oracle索引
- oracle全文索引之About_INDEX_THEMES操作Oracle索引Index
- oracle全文索引之STOPLIST_ CTXCAT 索引_INDEX SETOracle索引Index
- oracle全文索引之datastore_2_MULTI_COLUMN_DATASTOREOracle索引AST
- Oracle的全文索引Oracle索引
- ZT oracle全文索引Oracle索引
- oracle全文索引之SECTION GROUP_6_PATH_SECTION_GROUPOracle索引
- oracle全文索引之SECTION GROUP_5_AUTO_SECTION_GROUPOracle索引
- oracle全文索引之SECTION GROUP_4_XML_SECTION_GROUPOracle索引XML
- oracle全文索引之SECTION GROUP_3_HTML_SECTION_GROUPOracle索引HTML
- oracle全文索引之SECTION GROUP_2_BASIC_SECTION_GROUPOracle索引
- oracle全文索引之SECTION GROUP_1_NULL_SECTION_GROUPOracle索引Null
- oracle全文索引之FILTER_2_INSO_FILTEROracle索引Filter
- oracle 全文索引的配置Oracle索引
- MongoDB之索引(全文索引)MongoDB索引
- oracle全文索引之同步和優化索引做了什麼Oracle索引優化