介绍完Oracle全文索引的DATASTORE属性,继续介绍Oracle的FILTER属性。

Oracle全文索引的FILTER属性主要是针对具有一定格式的文档,Oracle根据FILTER的设定来过滤那些不属于文章内容的部分。

FILTER属性包含的属性有:CHARSET_FILTER、INSO_FILTER、NULL_FILTER、USER_FILTER、PROCEDURE_FILTER几种。

这里仍然从FILTER的最简单属性NULL_FILTER开始介绍:

SQL> CREATE TABLE T (ID NUMBER, DOCS VARCHAR2(4000));

表已创建。

SQL> INSERT INTO T VALUES (1, 'This is a sample for Oracle TEXT.');

已创建 1 行。

SQL> INSERT INTO T VALUES (2, 'This is a null filter sample');

已创建 1 行。

SQL> COMMIT;

提交完成。

SQL> CREATE INDEX IND_T_DOCS ON T (DOCS) INDEXTYPE IS CTXSYS.CONTEXT
2 PARAMETERS ('FILTER CTXSYS.NULL_FILTER');

索引已创建。

SQL> SELECT * FROM T WHERE CONTAINS(DOCS, 'TEXT') > 0;

ID DOCS
---------- ----------------------------------------
1 This is a sample for Oracle TEXT.

上面就是一个简单的NULL_FILTER的例子,所谓NULL_FILTER就是不使用过滤。Oracle推荐对于文本、HTML和XML文件不使用过滤。

Oracle的FILTER的默认值和索引列的字段类型,以及DATASTORE的属性有关。如果是存储在数据库中的列,且列的类型为VARCHAR2、CHAR、CLOB,则Oracle会使用NULL_FILTER作为FILTER的默认属性。

其实上面这个例子和不指定FILTER是等价的。

SQL> DROP INDEX IND_T_DOCS;

索引已丢弃。

SQL> CREATE INDEX IND_T_DOCS ON T (DOCS) INDEXTYPE IS CTXSYS.CONTEXT;

索引已创建。

SQL> SELECT * FROM T WHERE CONTAINS(DOCS, 'FILTER') > 0;

ID DOCS
---------- ----------------------------------------
2 This is a null filter sample

ORACLE TEXT FILTER PREFERENCE(一)相关推荐

  1. ORACLE TEXT FILTER PREFERENCE(三)

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

  2. ORACLE TEXT FILTER PREFERENCE(二)

    这篇文章继续介绍全文索引的FILTER属性,介绍Oracle的INSO_FILTER属性. Oracle的全文索引除了可以支持文本文件外,还可以支持多种文档格式,对于这些文档格式,在建立索引的时候需要 ...

  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 DATASTORE PREFERENCE(五)

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

  7. ORACLE TEXT DATASTORE PREFERENCE(四)

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

  8. ORACLE TEXT DATASTORE PREFERENCE(三)

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

  9. ORACLE TEXT LEXER PREFERENCE(一)

    介绍完Oracle全文索引的FILTER属性,继续介绍Oracle的LEXER属性. Oracle全文索引的LEXER属性用于处理各种不同的语言.最基本的英文使用BASE_FILTER,而如果需要使用 ...

最新文章

  1. java发送苹果消息慢_Spring-boot JMS 发送消息慢的解决方法
  2. 30秒的PHP代码片段(2)数学 - Math
  3. 推荐11个构建和测试API的顶级工具
  4. mysql的odbc连接字符串_MySQL :: linux ODBC连接mysql
  5. h5页面 pc端html 调用QQ群
  6. c语言for循环的省略写法,C语言两种for循环写法分析
  7. Java程序设计语言基础01:绪论
  8. 基础算法之插入排序Insertion Sort
  9. Wave Arts Tube Saturator for Mac(电子管模拟效果器插件)
  10. WinForm TabControl美化
  11. (一)数据挖掘概念与技术——韩家炜
  12. SIR模型简单了解(Susceptible Infected Recovered Model)
  13. 【Java】---JVM内存模型
  14. python词云图详细教程
  15. 矩阵转置,矩阵加,矩阵乘Java
  16. 诗词收集——用于人文素养扫盲
  17. HD地址批量生成 java
  18. 数据显示:中国的程序员是世界上最牛的程序员
  19. C#--窗体控件(选择类控件)
  20. 【blender】动画导出方法

热门文章

  1. 强化学习核心文章一百篇
  2. 【Erlang应用】消息队列RabbitMQ介绍以及应用案例
  3. python爬虫:使用BeautifulSoup进行查找
  4. [转]easyui datagrid 批量编辑和提交
  5. android小知识之意图(intent)
  6. [LeetCode] Single Number
  7. apache安全—用户访问控制
  8. #每日一题:小数第n位(数论/模拟)
  9. 问题 F: 序列操作Ⅱ(前缀最大公约数,后缀最大公约数)
  10. android多语言编码格式,在Android中使用国家/地区代码以编程方式更改语言