oracle全文索引之STOPLIST_1_BASIC_STOPLIST
這篇文章開始介紹Oracle全文索引的STOPLIST屬性。首先介紹的是BASIC_STOPLIST。[@more@]Oracle的全文索引允許使用者建立停用詞,來遮蔽那些包含資訊量比較小且出現機率比較高的詞語。
比如英文中的a、this、are、the等詞語,幾乎每篇文章中都會包含這些常用詞,因此對這些詞語進行索引的意義不大。
SQL> CREATE TABLE T (ID NUMBER, DOCS VARCHAR2(1000));
表已建立。
SQL> CREATE TABLE T (ID NUMBER, DOCS VARCHAR2(1000));
Table created.
SQL> INSERT INTO T VALUES (1, 'THIS IS A STOPLIST EXAMPLE.');
1 row created.
SQL> COMMIT;
Commit complete.
SQL> exec CTX_DDL.CREATE_STOPLIST('TEST_BASIC', 'BASIC_STOPLIST');
PL/SQL procedure successfully completed.
SQL> CREATE INDEX IND_T_DOCS ON T(DOCS) INDEXTYPE IS CTXSYS.CONTEXT
2 PARAMETERS ('STOPLIST TEST_BASIC');
Index created.
SQL> SELECT * FROM T WHERE CONTAINS(DOCS, 'EXAMPLE') > 0;
ID DOCS
---------- ------------------------------
1 THIS IS A STOPLIST EXAMPLE.
SQL> SELECT * FROM T WHERE CONTAINS(DOCS, 'A') > 0;
ID DOCS
---------- ------------------------------
1 THIS IS A STOPLIST EXAMPLE.
建立了一個BASIC_STOPLIST後,由於並沒有新增停用詞,這個BASIC_STOPLIST停用詞表是空的。這個時候不會遮蔽任何詞語。
SQL> exec CTX_DDL.ADD_STOPWORD('TEST_BASIC', 'A');
PL/SQL procedure successfully completed.
SQL> drop index IND_T_DOCS
2 ;
Index dropped.
SQL> CREATE INDEX IND_T_DOCS ON T(DOCS) INDEXTYPE IS CTXSYS.CONTEXT
2 PARAMETERS ('STOPLIST TEST_BASIC');
Index created.
SQL> SELECT * FROM T WHERE CONTAINS(DOCS, 'EXAMPLE') > 0;
ID DOCS
---------- ------------------------------
1 THIS IS A STOPLIST EXAMPLE.
SQL> SELECT * FROM T WHERE CONTAINS(DOCS, 'A') > 0;
no rows selected
在上面的例子中,將單詞’a’新增到了停用詞表中,重新建立索引後,發現停用詞已經生效。
比如英文中的a、this、are、the等詞語,幾乎每篇文章中都會包含這些常用詞,因此對這些詞語進行索引的意義不大。
SQL> CREATE TABLE T (ID NUMBER, DOCS VARCHAR2(1000));
表已建立。
SQL> CREATE TABLE T (ID NUMBER, DOCS VARCHAR2(1000));
Table created.
SQL> INSERT INTO T VALUES (1, 'THIS IS A STOPLIST EXAMPLE.');
1 row created.
SQL> COMMIT;
Commit complete.
SQL> exec CTX_DDL.CREATE_STOPLIST('TEST_BASIC', 'BASIC_STOPLIST');
PL/SQL procedure successfully completed.
SQL> CREATE INDEX IND_T_DOCS ON T(DOCS) INDEXTYPE IS CTXSYS.CONTEXT
2 PARAMETERS ('STOPLIST TEST_BASIC');
Index created.
SQL> SELECT * FROM T WHERE CONTAINS(DOCS, 'EXAMPLE') > 0;
ID DOCS
---------- ------------------------------
1 THIS IS A STOPLIST EXAMPLE.
SQL> SELECT * FROM T WHERE CONTAINS(DOCS, 'A') > 0;
ID DOCS
---------- ------------------------------
1 THIS IS A STOPLIST EXAMPLE.
建立了一個BASIC_STOPLIST後,由於並沒有新增停用詞,這個BASIC_STOPLIST停用詞表是空的。這個時候不會遮蔽任何詞語。
SQL> exec CTX_DDL.ADD_STOPWORD('TEST_BASIC', 'A');
PL/SQL procedure successfully completed.
SQL> drop index IND_T_DOCS
2 ;
Index dropped.
SQL> CREATE INDEX IND_T_DOCS ON T(DOCS) INDEXTYPE IS CTXSYS.CONTEXT
2 PARAMETERS ('STOPLIST TEST_BASIC');
Index created.
SQL> SELECT * FROM T WHERE CONTAINS(DOCS, 'EXAMPLE') > 0;
ID DOCS
---------- ------------------------------
1 THIS IS A STOPLIST EXAMPLE.
SQL> SELECT * FROM T WHERE CONTAINS(DOCS, 'A') > 0;
no rows selected
在上面的例子中,將單詞’a’新增到了停用詞表中,重新建立索引後,發現停用詞已經生效。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/271283/viewspace-1022468/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 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全文索引之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全文索引之配置全文檢索環境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索引優化