易截截图软件、单文件、免安装、纯绿色、仅160KB

oracle全文索引之About_INDEX_THEMES操作

Oracle的全文索引除了支持文字匹配查询,还支持对文章涵义的查询。这是通过ABOUT操作实现的。
Oracle默认情况下支持英文和法文的文章涵义支持。其他语言可以添加通过用户自定义的语言库来实现相应的功能。

这之前需要先安装Companion CD 的Oracle Database 10g Products Installation
Type,其中包括了Oracle Text Supplied Knowledge
Bases,否则在建立含有about的索引时会出错。Companion CD可直接在官网下载,安装也非常简单。
下面看看英文环境下简单的ABOUT操作用法:
SQL> conn myuser/myuser
Connected.
SQL> CREATE TABLE T (ID NUMBER PRIMARY KEY, DOCS VARCHAR2(1000));
Table created.
SQL> INSERT INTO T VALUES (1, 'You can augment the knowledge base to define concepts and terms specific to your
industry or query application. When you do so, ABOUT queries are more precise for the added concepts.');
1 row created.
SQL> INSERT INTO T VALUES (2, 'ABOUT queries perform best when you create a theme component in your index. Theme
components are created by default for English and French.');
1 row created.
SQL> COMMIT;
Commit complete.
SQL> CREATE INDEX IND_T_DOCS ON T(DOCS) INDEXTYPE IS CTXSYS.CONTEXT;
Index created.
SQL> SELECT ID from T WHERE CONTAINS(DOCS, 'ABOUT(queries)') > 0;
ID
----------
1
2
SQL> SELECT ID from T WHERE CONTAINS(DOCS, 'queries') > 0;
ID
----------
1
2
默认的LEXER是BASIC_LEXER,因此,可以ABOUT操作已经可以起作用了,但是由于采用默认设置,ABOUT查询的精度不高。虽然可以查询到,但是这个单词本身就是在文章中出现的,如果使用文章中没有出现的单词,ABOUT还是查询不到。
SQL> SELECT ID from T WHERE CONTAINS(DOCS, 'ABOUT(definition)') > 0;
no rows selected
SQL> SELECT ID from T WHERE CONTAINS(DOCS, 'definition') > 0;
no rows selected
如果希望提高ABOUT操作的查询精度,可以设置BASIC_LEXER中的INDEX_THEMES属性的值为YES。
SQL> BEGIN
2 CTX_DDL.CREATE_PREFERENCE('TEST_ABOUT', 'BASIC_LEXER');
3 CTX_DDL.SET_ATTRIBUTE('TEST_ABOUT', 'INDEX_THEMES', 'YES');
4 CTX_DDL.


相关文档:

oracle基本操作

describe  TABLE_NAME;   --描述
----------------------------------------------------------------
create table as select XXXXXX
insert into TABLE_NAME (reac_1,reac_2.....) values(v1,v2)
insert into TABLE_NAME (select * from ..........)
update TABLE_NAME set reac_1=v1,.............. ......

Oracle中BLOB/CLOB字段可能遇到的问题

Blob 采用单字节存储,适合保存二进制数据,如图片、视频等。
Clob 采用多字节存储,适合保存大型文本数据。
1. 在Oracle JDBC中采用流机制对 BLOB/CLOB 进行读写操作,所以要注意不能在批处理中读写 BLOB/CLOB字段,否则将出现
Stream type cannot be used in batching 异常。
2. Oracle BLOB/CLOB 字段本身拥有一个游 ......

Oracle创建数据库同义词

1.在A用户下授权“商户信息表”给B用户
grant all on TBL_INF_MCHNT_INF to B;
commit;
2.在B用户下建立同义词
create synonym TBL_INF_MCHNT_INF for A.TBL_INF_MCHNT_INF;
3. 查询数据库所有同义词select * from sys.synonyms ......

oracle全文索引之FILTER


介绍完Oracle全文索引的DATASTORE属性,继续介绍Oracle的FILTER属性。
Oracle全文索引的FILTER属性主要是针对具有一定格式的文档,Oracle根据FILTER的设定来过滤那些不属于文章内容的部分。
FILTER属性包含的属性有:CHARSET_FILTER、INSO_FILTER、NULL_FILTER、USER_FILTER、PROCEDURE_FILTER几种。
这里仍然从FILTER ......

oracle全文索引之STORAGE PREFERENCE



Oracle全文索引的STORAGE属性是为了给全文索引生成的辅助表设置存储参数的。
Oracle的全文索引会生成一张或多张辅助表,由于这些表是Oracle自动生成的,用户没有办法直接设置这些表和索引的物理参数,因此Oracle提供了STORAGE属性,专门设置这些辅助表和索引的物理参数。
SQL> SELECT * from TAB;
TNAME ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号