oracle全文索引之SECTION GROUP_4_XML_SECTION_GROUP
Oracle對HTML文件預定義了專門的HTML_SECTION_GROUP,而對XML文件,也預定義好了專門的SECTION_GROUP——XML_SECTION_GROUP。
其實,Oracle除了XML_SECTION_GROUP外,AUTO_SECTION_GROUP和PATH_SECTION_GROUP也都是為XML文件預定義的,不過,這篇文件先只討論XML_SECTION_GROUP。
XML文件的格式要求比HTML文件嚴謹、規範,這也使得XML_SECTION_GROUP比HTML_SECTION_GROUP增加了新的功能,比如ATTRIBUTE的搜尋。
如果一篇結構型別下面例子中的文件,使用HTML_SCTION_GROUP和BASIC_SECTION_GROUP都是無法索引到內容的,只能透過XML_SECTION_GROUP的ATTR_SECTION來檢索標籤屬性中的內容。
文件內容如下:
<!-- Copyright (c) 2001 Oracle Corporation. All rights Reserved -->
<!-- Do not modify the contents of this file by hand. -->
如果建立不同的HTML_SECTION_GROUP或XML_SECTION_GROUP是檢索不到內容的:
SQL> CREATE TABLE T (ID NUMBER, DOCS VARCHAR2(1000));
表已建立。
SQL> INSERT INTO T VALUES (1, 'context.xml');
已建立 1 行。
SQL> COMMIT;
提交完成。
SQL> CONN CTXSYS/CTXSYS@YANGTK
已連線。
SQL> BEGIN
2 CTX_DDL.CREATE_PREFERENCE('TEST_FILE', 'FILE_DATASTORE');
3 CTX_DDL.SET_ATTRIBUTE('TEST_FILE', 'PATH', 'F:');
4 CTX_DDL.CREATE_SECTION_GROUP('TEST_HTML', 'HTML_SECTION_GROUP');
5 CTX_DDL.CREATE_SECTION_GROUP('TEST_XML', 'XML_SECTION_GROUP');
6 END;
7 /
PL/SQL 過程已成功完成。
SQL> CONN YANGTK/YANGTK@YANGTK
已連線。
SQL> CREATE INDEX IND_T_DOCS ON T (DOCS) INDEXTYPE IS CTXSYS.CONTEXT
2 PARAMETERS('DATASTORE CTXSYS.TEST_FILE FILTER CTXSYS.NULL_FILTER
3 SECTION GROUP CTXSYS.TEST_HTML');
索引已建立。
SQL> SELECT * FROM T WHERE CONTAINS (DOCS, 'COMPLETE') > 0;
未選定行
SQL> DROP INDEX IND_T_DOCS;
索引已丟棄。
SQL> CREATE INDEX IND_T_DOCS ON T (DOCS) INDEXTYPE IS CTXSYS.CONTEXT
2 PARAMETERS('DATASTORE CTXSYS.TEST_FILE FILTER CTXSYS.NULL_FILTER
3 SECTION GROUP CTXSYS.TEST_XML');
索引已建立。
SQL> SELECT * FROM T WHERE CONTAINS (DOCS, 'COMPLETE') > 0;
未選定行
SQL> DROP INDEX IND_T_DOCS;
索引已丟棄。
對於XML_SECTION_GROUP可以建立ATTRIBUTE節組:
SQL> CONN CTXSYS/CTXSYS@YANGTK
已連線。
SQL> BEGIN
2 CTX_DDL.ADD_ATTR_SECTION('TEST_HTML', 'NAME', 'CONST@NAME');
3 END;
4 /
BEGIN
*
ERROR 位於第 1 行:
ORA-20000: Oracle Text 錯誤:
DRG-12225: 這一段型別不能新增到此段組中
ORA-06512: 在"CTXSYS.DRUE", line 157
ORA-06512: 在"CTXSYS.CTX_DDL", line 314
ORA-06512: 在line 2
SQL> BEGIN
2 CTX_DDL.ADD_ATTR_SECTION('TEST_XML', 'NAME', 'CONST@NAME');
3 END;
4 /
PL/SQL 過程已成功完成。
SQL> CONN YANGTK/YANGTK@YANGTK
已連線。
SQL> CREATE INDEX IND_T_DOCS ON T (DOCS) INDEXTYPE IS CTXSYS.CONTEXT
2 PARAMETERS('DATASTORE CTXSYS.TEST_FILE FILTER CTXSYS.NULL_FILTER
3 SECTION GROUP CTXSYS.TEST_XML');
索引已建立。
SQL> SELECT * FROM T WHERE CONTAINS (DOCS, 'COMPLETE WITHIN NAME') > 0;
ID DOCS
---------- ----------------------------------------
1 context.xml
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/271283/viewspace-1022451/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle全文索引之SECTION GROUP_6_PATH_SECTION_GROUPOracle索引
- oracle全文索引之SECTION GROUP_5_AUTO_SECTION_GROUPOracle索引
- oracle全文索引之SECTION GROUP_3_HTML_SECTION_GROUPOracle索引HTML
- oracle全文索引之SECTION GROUP_2_BASIC_SECTION_GROUPOracle索引
- oracle全文索引之SECTION GROUP_1_NULL_SECTION_GROUPOracle索引Null
- 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全文索引之datastore_1_DIRECT_DATASTOREOracle索引AST
- Oracle:全文索引Oracle索引
- Oracle AWR Top SQL sectionOracleSQL
- 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全文索引之FILTER_2_INSO_FILTEROracle索引Filter
- oracle 全文索引的配置Oracle索引
- MongoDB之索引(全文索引)MongoDB索引