oracle全文索引之停用词的通配符功能
全文索引停用词的设置在前面的文章中已经介绍过了,这里简单说明记录一下停用词在查询时候需要注意的地方。
Oracle10g中,如果安装语言为中文,默认的LEXER为CHINESE_VGRAM_LEXER,默认的停用词语言也为中文。这篇通过对比中文环境和英文环境来说明停用词查询的一些特点。
SQL> show user
USER is "MYUSER"
SQL> CREATE TABLE T (ID NUMBER, DOCS VARCHAR2(1000));
Table created.
SQL> INSERT INTO T VALUES (1, 'This example test stopword.');
1 row created.
SQL> INSERT INTO T VALUES (2, 'Oracle9i chinese language environment default stopword are english.');
1 row created.
SQL> COMMIT;
Commit complete.
SQL> CREATE INDEX IND_T_DOCS ON T(DOCS) INDEXTYPE IS CTXSYS.CONTEXT;
Index created.
SQL> SELECT * from T WHERE CONTAINS(DOCS, 'This') > 0;
no rows selected
英文环境下允许单独查询停用词,但是不会返回结果。
SQL> SELECT * from T WHERE CONTAINS(DOCS, 'are english') > 0;
ID DOCS
--- --------------------------------------------------
2 Oracle9i chinese language environment default stop
word are english.
SQL> SELECT * from T WHERE CONTAINS(DOCS, 'is english') > 0;
ID DOCS
--- --------------------------------------------------
2 Oracle9i chinese language environment default stop
word are english.
SQL> SELECT * from T WHERE CONTAINS(DOCS, 'stopword are english') > 0;
ID DOCS
--- --------------------------------------------------
2 Oracle9i chinese language environment default stop
word are english.
SQL> SELECT * from T WHERE CONTAINS(DOCS, 'stopword is english') > 0;
ID DOCS
--- --------------------------------------------------
2 Oracle9i chinese language environment default stop
word are english.
SQL> SELECT * from T WHERE CONTAINS(DOCS, 'are stopword') > 0;
ID DOCS
--- --------------------------------------------------
1 This example test stopword.
2 Oracle9i chinese language environment default stop
word are english.
SQL> SELECT * from T WHERE CONTAINS(DOCS, '
相关文档:
【IT168 技术文档】随着网络应用和电子商务的不断发展,各个站点的访问量越来越大,如何使有限的计算机系统资源为更多的用户服务?如何保证用户的响应速度和服务质量?这些问题都属于服务器性能优化的范畴。作为较成功的数据库厂商,Oracle公司数据库的性能优化是如何进行的
优化策略
为了保证Oracle数 ......
遇到的一些Oracle的零碎问题:
1、使用自定义异常,raise_application_error(异常编号,异常信息)。
A、异常编号注意不要超长,一般到5位
B、异常信息是一个字符串信息
C、配合存储过程中exception使用 ......
DATASTORE是FILE_DATASTORE的测试
[oracle@rhel140 ~]$ cat OUTPUT.TXT
ORACLE
oracle
[oracle@rhel140 LOG]$ cat EMPXT_000_2012_2680.LOG
SOURCE
ABC
SQL> conn myuser/myuser
Connected.
SQL> CREATE TABLE T (ID NUMBER, DOCS VARCHAR2(1000));
Table created.
SQL> INSERT INTO T VALUES (1, 'OUT ......
介绍完Oracle全文索引的FILTER属性,继续介绍Oracle的LEXER属性。
Oracle全文索引的LEXER属性用于处理各种不同的语言。最基本的英文使用BASE_FILTER,而如果需要使用中文则可以使用CHINESE_VGRAM_LEXER或CHINESE_LEXER。
这篇文章简单说明BASIC_LEXER属性。BASIC_LEXER属性支持多种语言,比如英语、德语、荷兰语、挪 ......