ORACLE TEXT FILTER PREFERENCE(二)
這篇文章繼續(xù)介紹全文索引的FILTER屬性,介紹Oracle的INSO_FILTER屬性。
Oracle的全文索引除了可以支持文本文件外,還可以支持多種文檔格式,對(duì)于這些文檔格式,在建立索引的時(shí)候需要指定INSO_FILTER參數(shù),使用這個(gè)過濾參數(shù),Oracle的全文索引可以識(shí)別絕大部分的常見文檔,比如:word、pdf等。
下面看一個(gè)索引文檔的例子:
SQL> CREATE TABLE T (ID NUMBER, DOCS VARCHAR2(1000));
表已創(chuàng)建。
SQL> INSERT INTO T VALUES (1, 'Oracle920 Text Application Developer''s Guide.pdf');
已創(chuàng)建?1 行。
SQL> INSERT INTO T VALUES (2, '35697_bommarito.doc');
已創(chuàng)建?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', 'D:databaseoracleoracle docoracle 9i;D:databaseoracleoracle doc');
4 END;
5 /
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.INSO_FILTER');
索引已創(chuàng)建。
SQL> SELECT * FROM T WHERE CONTAINS(DOCS, 'ORACLE') > 0;
ID DOCS
---------- ------------------------------------------------------------
2 35697_bommarito.doc
1 Oracle920 Text Application Developer's Guide.pdf
FILTER的默認(rèn)值并不是一成不變的,這個(gè)默認(rèn)值會(huì)受索引字段類型和DATASTORE的類型的影響。在上一篇文章中的測試中,對(duì)于存儲(chǔ)在數(shù)據(jù)庫中的VARCHAR2、CHAR和CLOB字段中的數(shù)據(jù),Oracle自動(dòng)選擇了NULL_FILLER。在這里DATASTORE的屬性為FILE_DATASTORE,則Oracle會(huì)默認(rèn)選擇INSO_FILTER作為默認(rèn)值。
下面看具體的例子:
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');
索引已創(chuàng)建。
SQL> SELECT * FROM T WHERE CONTAINS(DOCS, 'ORACLE') > 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');
索引已創(chuàng)建。
SQL> SELECT * FROM T WHERE CONTAINS(DOCS, 'ORACLE') > 0;
ID DOCS
---------- ------------------------------------------------------------
2 35697_bommarito.doc
1 Oracle920 Text Application Developer's Guide.pdf
總結(jié)
以上是生活随笔為你收集整理的ORACLE TEXT FILTER PREFERENCE(二)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ORACLE TEXT FILTER P
- 下一篇: ORACLE TEXT FILTER P