这篇文章继续介绍全文索引的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(二)相关推荐

  1. ORACLE TEXT FILTER PREFERENCE(一)

    介绍完Oracle全文索引的DATASTORE属性,继续介绍Oracle的FILTER属性. Oracle全文索引的FILTER属性主要是针对具有一定格式的文档,Oracle根据FILTER的设定来过 ...

  2. ORACLE TEXT FILTER PREFERENCE(三)

    这篇文章继续介绍全文索引的FILTER属性,介绍对不同类型的数据采用不同类型的FILTER属性的方法. 如果Oracle索引的文档包括多种类型,比如doc文件.html文件.pdf文件.纯文本文件等等 ...

  3. ORACLE TEXT FILTER PREFERENCE(四)

    这篇文章继续介绍全文索引的FILTER属性,介绍全文索引的PROCEDURE_FILTER属性. 对于一些复杂的需求,Oracle自定义的FILTER可能并不合适,Oracle支持用户自己编写用于FI ...

  4. ORACLE TEXT DATASTORE PREFERENCE(二)

    这篇文章继续讨论全文索引的DATASTORE属性,介绍MULTI_COLUMN_DATASTORE. 如果被索引的文章是保存在数据库中,但是内容分布在多个列中,那么可以通过建立一个MULTI_COLU ...

  5. ORACLE TEXT DATASTORE PREFERENCE(一)

    Oracle Text功能十分强大,可是文档上给出的例子总是过于简单,而且可能是为了减少篇幅,不少例子只给出了其中关键的几步,但是对于初学者而言,阅读这样的例子很难对全文索引的创建有一个清晰的了解,而 ...

  6. ORACLE TEXT LEXER PREFERENCE(二)

    介绍完Oracle全文索引的BASIC_LEXER属性,这篇介绍Oracle中文语法属性CHINESE_LEXER和CHINESE_VGRAM_LEXER. Oracle全文索引的BASIC属性主要是 ...

  7. ORACLE TEXT DATASTORE PREFERENCE(五)

    这篇文章继续讨论全文索引的DATASTORE属性,介绍DETAIL_DATASTORE. 全文索引运行将被索引的数据存储在子表的多条记录中,下面看一个简单的例子: SQL> CREATE TAB ...

  8. ORACLE TEXT DATASTORE PREFERENCE(四)

    这篇文章继续讨论全文索引的DATASTORE属性,介绍URL_DATASTORE. 全文索引可以很方便的索引存储在INTERNET上的信息.在数据库中只需要存储需要索引的文章的URL就可以了. 由于目 ...

  9. ORACLE TEXT DATASTORE PREFERENCE(三)

    这篇文章继续讨论全文索引的DATASTORE属性,介绍FILE_DATASTORE. 全文索引的对象一般是篇幅较大的文章,除了保存在数据库中的情况,另外一种常见的情况是以文件的形式保存在操作系统中. ...

最新文章

  1. 30多岁程序员老W,无奈选择转行!问题出在哪?
  2. centos 7手动更改源
  3. 为什么他们能做成功?关于创业的几点感想
  4. 用python让excel飞起来 pdf_老外用100个巨型吹风机, 想要靠它们飞起来, 你猜结果怎样...
  5. 电感发出声音怎么解决_如何解决多层PCB设计时的EMI
  6. 作者:李涛(1975-),男,博士,南京邮电大学计算机学院院长,南京邮电大学大数据研究院院长,美国佛罗里达国际大学正教授。...
  7. kafka基础之介绍和分布式集群搭建
  8. 【Luogu2085】最小函数值(优先队列)
  9. webrtc之SVC实现(十)
  10. 这些行业高薪职位最多
  11. Unity:通过脚本控制Shader中的Cutoff
  12. AE2022 Ver22.3内容更新点汇总 一文了解AE2022最新版本
  13. Linux驱动:网卡驱动分析之三--MAC驱动及PHY驱动框架了解
  14. 编程萌新必看!初学C语言必会的知识点,你学废了吗?
  15. 软碟通UltraISO 9.65.3237官方注册版
  16. 一文详解文本语义相似度的研究脉络和最新进展
  17. python实现3d扫描_树莓派制作的3D扫描仪
  18. 华大单片机如何实现软件复位重启
  19. 【OSGi】OSGi框架的三个层次
  20. Android 口令实现(自己复制,返回首页设置不显示)

热门文章

  1. 合并数组:双针模型,原地实现
  2. java数组的几种形式——java编程思想01
  3. HDU 5115 Dire Wolf
  4. JMeter入门(03)多台JMeter联合测试
  5. jmeter命令行压测
  6. Mac 录制视频,并转为GIF格式
  7. RDLC报表系列(二) 行分组
  8. Android PowerImageView实现,可以播放动画的强大ImageView
  9. silverlight textblock 自动换行
  10. 11.5 vmstat:虚拟内存统计