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

Oracle全文索引的LEXER属性用于处理各种不同的语言。最基本的英文使用BASE_FILTER,而如果需要使用中文则可以使用CHINESE_VGRAM_LEXER或CHINESE_LEXER。

这篇文章简单说明BASIC_LEXER属性。BASIC_LEXER属性支持多种语言,比如英语、德语、荷兰语、挪威语、瑞典语等等。

BASIC_LEXER除了支持多种语言,还可以设置多种属性。比如这个例子中介绍的索引的大小写设置:

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

表已创建。

SQL> INSERT INTO T VALUES (1, 'This is a example for the basic lexer');

已创建 1 行。

SQL> INSERT INTO T VALUES (2, 'And we make a example for a mixed spell indexs.');

已创建 1 行。

SQL> INSERT INTO T VALUES (3, 'So the word in UPPER format must be query in UPPER');

已创建 1 行。

SQL> INSERT INTO T VALUES (4, 'And Mixed Spell Word must be Query in Mixed.');

已创建 1 行。

SQL> COMMIT;

提交完成。

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

索引已创建。

SQL> SELECT ID FROM T WHERE CONTAINS(DOCS, 'MIXED') > 0;

ID
----------
4
2

SQL> DROP INDEX IND_T_DOCS;

索引已丢弃。

SQL> CONN CTXSYS/CTXSYS@YANGTK
已连接。
SQL> BEGIN
2 CTX_DDL.CREATE_PREFERENCE('TEST_BASIC_LEXER', 'BASIC_LEXER');
3 CTX_DDL.SET_ATTRIBUTE('TEST_BASIC_LEXER', 'MIXED_CASE', 'YES');
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 ('LEXER CTXSYS.TEST_BASIC_LEXER');

索引已创建。

SQL> SELECT ID FROM T WHERE CONTAINS(DOCS, 'MIXED') > 0;

未选定行

SQL> SELECT ID FROM T WHERE CONTAINS(DOCS, 'Mixed') > 0;

ID
----------
4

如果不进行设置,Oracle在建立索引时会将所有的字母变为大写。如果进行了设置,可以使索引区分大小写,

ORACLE TEXT LEXER PREFERENCE(一)相关推荐

  1. ORACLE TEXT LEXER PREFERENCE(四)

    本文继续介绍Oracle全文索引的LEXER属性,这篇文章介绍Oracle多语言全文索引DEFAULT_LEXER. 其实这篇文章应该放在LEXER属性的开头部分,不过我的测试一直和Oracle文档上 ...

  2. ORACLE TEXT LEXER PREFERENCE(三)

    本文继续介绍Oracle全文索引的LEXER属性,这篇文章介绍Oracle多语言全文索引MULTI_LEXER. 如果在Oracle中存储多种语言,那么在建立全文索引的时候就不能只是简单的指定一个LE ...

  3. ORACLE TEXT LEXER PREFERENCE(二)

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

  4. ORACLE TEXT DATASTORE PREFERENCE(二)

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

  5. ORACLE TEXT FILTER PREFERENCE(一)

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

  6. ORACLE TEXT DATASTORE PREFERENCE(一)

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

  7. ORACLE TEXT DATASTORE PREFERENCE(五)

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

  8. ORACLE TEXT FILTER PREFERENCE(三)

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

  9. ORACLE TEXT FILTER PREFERENCE(二)

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

最新文章

  1. 这款工具,1分钟定位性能瓶颈,我老板都说好!
  2. 怎么理解java面向对象_Java 面向对象理解?
  3. 虚拟机中docker安装mysql远程无法访问解决方法
  4. AC日记——食物链 codevs 1047
  5. filebeat获取nginx的access日志配置
  6. 《JAVA课程设计》实训第四天——《猜猜看》游戏
  7. Adapter适配器设计模式
  8. linux webservice端口号,解决在Linux环境下访问webservice发送中文乱码问题的方案
  9. struts拦截器+注解实现网络安全要求中的日志审计功能
  10. tp5 保存图片背景黑色_少女心背景图 | 风环绕世界百圈,不如见你时心动
  11. Eova项目嵌入前端页面介绍
  12. 光环PMP 疑难点辨析
  13. 计算机考研复试题(近十万字)
  14. 运营面试问题和答案(一)
  15. python画图配色_科研作图有哪些「赏心悦目」的绘图主题和配色方案?
  16. 看这个就够了,谷歌翻译Google 退出中国后如何恢复网页翻译?
  17. 微信网页开发异常——签名失败
  18. std::vector介绍
  19. 全球顶级企业和工程师荣获首届数字工程奖
  20. SATA协议OOB随笔

热门文章

  1. Spring Cloud(6.1):搭建OAuth2 Authorization Server
  2. Java 从业一年的心得体会
  3. 第68节:Java中的MYSQL运用从小白到大牛
  4. 高可用与负载均衡(7)之聊聊Lvs-DR+Keepalived的解决方案
  5. 4 weekend110的hdfs下载数据源码跟踪铺垫 + hdfs下载数据源码分析-getFileSystem(值得反复推敲和打断点源码)...
  6. poj_2349 Kruskal 最小生成树
  7. MKMapView自定义大头针
  8. python 批量更换图片格式脚本
  9. RDLC报表系列(二) 行分组
  10. Maximum Subarray with Sum/ Multiply