ORACLE TEXT FILTER PREFERENCE(二)
来源:互联网 发布:h3c批量配置端口 编辑:程序博客网 时间:2024/05/14 03:36
这篇文章继续介绍全文索引的FILTER属性,介绍Oracle的INSO_FILTER属性。
Oracle的全文索引除了可以支持文本文件外,还可以支持多种文档格式,对于这些文档格式,在建立索引的时候需要指定INSO_FILTER参数,使用这个过滤参数,Oracle的全文索引可以识别绝大部分的常见文档,比如:word、pdf等。
下面看一个索引文档的例子:
SQL> CREATE TABLE T (ID NUMBER, DOCS VARCHAR2(1000));
表已创建。
SQL> INSERT INTO T VALUES (1, 'Oracle920 Text Application Developer''s Guide.pdf');
已创建 1 行。
SQL> INSERT INTO T VALUES (2, '35697_bommarito.doc');
已创建 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');
索引已创建。
SQL> SELECT * FROM T WHERE CONTAINS(DOCS, 'ORACLE') > 0;
ID DOCS
---------- ------------------------------------------------------------
2 35697_bommarito.doc
1 Oracle920 Text Application Developer's Guide.pdf
FILTER的默认值并不是一成不变的,这个默认值会受索引字段类型和DATASTORE的类型的影响。在上一篇文章中的测试中,对于存储在数据库中的VARCHAR2、CHAR和CLOB字段中的数据,Oracle自动选择了NULL_FILLER。在这里DATASTORE的属性为FILE_DATASTORE,则Oracle会默认选择INSO_FILTER作为默认值。
下面看具体的例子:
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');
索引已创建。
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');
索引已创建。
SQL> SELECT * FROM T WHERE CONTAINS(DOCS, 'ORACLE') > 0;
ID DOCS
---------- ------------------------------------------------------------
2 35697_bommarito.doc
1 Oracle920 Text Application Developer's Guide.pdf
- ORACLE TEXT FILTER PREFERENCE(二)
- ORACLE TEXT FILTER PREFERENCE(一)
- ORACLE TEXT FILTER PREFERENCE(三)
- ORACLE TEXT FILTER PREFERENCE(四)
- ORACLE TEXT DATASTORE PREFERENCE(二)
- ORACLE TEXT LEXER PREFERENCE(二)
- ORACLE TEXT DATASTORE PREFERENCE(一)
- ORACLE TEXT DATASTORE PREFERENCE(三)
- ORACLE TEXT DATASTORE PREFERENCE(四)
- ORACLE TEXT DATASTORE PREFERENCE(五)
- ORACLE TEXT DATASTORE PREFERENCE(六)
- ORACLE TEXT DATASTORE PREFERENCE(七)
- ORACLE TEXT LEXER PREFERENCE(一)
- ORACLE TEXT LEXER PREFERENCE(三)
- ORACLE TEXT LEXER PREFERENCE(四)
- filter学习心得(二)
- makefile $(filter PATTERN...,TEXT)
- 深入浅出DirectShow Filter(二)
- 关于jQuery对象的两个属性selector和context
- embed image
- ORACLE TEXT FILTER PREFERENCE(一)
- java 表达式解析器
- 各种加密算法简介及其Java实现
- ORACLE TEXT FILTER PREFERENCE(二)
- IE6下z-index 不起作用bug的初步研究
- 横屏模式下(landScape),加载竖的(potrait)页面时,还是竖屏的解决办法
- linux 常用命令笔记
- ORACLE TEXT FILTER PREFERENCE(三)
- self .vimrc
- 单身,有时不一定是贵族
- 解决XP搜索功能不能使用的方法
- boost::bind 源代码分析