oracle 全文檢索(1)

--查看DB中是否存在CTXSYS用戶

select * from all_users  where username='CTXSYS'

--查詢CTXSYS具有的角色,是否包含CTXAPP角色

select grantee,granted_role from dba_role_privs where grantee='CTXSYS'

--激活CTXSYS用戶

alter user CTXSYS account unlock

--創建測試用戶TEXTTEST

create user TEXTTEST identified by TEXTTEST

--修改CTXSYS密碼

alter user CTXSYS identified by CTXSYS

 

--授權

GRANT resource, CONNECT, ctxapp TO TEXTTEST

GRANT EXECUTE ON ctxsys.ctx_cls TO TEXTTEST

GRANT EXECUTE ON ctxsys.ctx_ddl TO TEXTTEST

GRANT EXECUTE ON ctxsys.ctx_doc TO TEXTTEST

GRANT EXECUTE ON ctxsys.ctx_output TO TEXTTEST

GRANT EXECUTE ON ctxsys.ctx_query TO TEXTTEST

GRANT EXECUTE ON ctxsys.ctx_report TO TEXTTEST

GRANT EXECUTE ON ctxsys.ctx_thes TO TEXTTEST

GRANT EXECUTE ON ctxsys.ctx_ulexer TO TEXTTEST

 

--設置詞法分析器

BEGIN

ctx_ddl.create_preference ('my_lexer1', 'chinese_vgram_lexer');

END;

--查看系統或設置的oracle text參數

SELECT pre_name, pre_object FROM ctx_preferences

 

--新建測試表

create table TEXT_SEARCH(

id NUMBER NOT NULL PRIMARY KEY, 

ABSTRACT varchar2(2000));

 

--插入資料

insert into TEXT_SEARCH values(1,'《HTML5高级程序设计》首先介绍了HTML5的历史背景、新的语义标签及与以往HTML版本相比的根本变化,同时揭示了HTML5背后的设计原理。从第2章起,分别围绕构建令人神往的富Web应用,逐一讨论了HTML5的Canvas、Geolocation、Communication、WebSocket、Forms、Web Workers、Storage等API的使用,辅以直观明了的客户端和服务器端示例代码,让开发人员能够迅速理解和掌握新一代Web标准所涵盖的核心技术。《HTML5高级程序设计》最后探索了离线Web应用并展望了HTML5未来的发展前景。   《HTML5高级程序设计》面向有一定经验的Web应用开发人员,对HTML5及未来Web应用技术发展抱有浓厚兴趣的读者也可以学习参考。');

 

insert into TEXT_SEARCH values(2,'《软件架构师应该知道的97件事》是本与众不同的技术图书。五十多位作者中不乏像尼尔¡¤福特(Neal Ford)、迈克尔¡¤尼加德(Michael Nygard)、比尔¡¤德¡¤霍拉(Bill de h6ra)这样杰出的软件架构师,大家分享了多年积累的开发经验和工作准则.内容不限于单纯的技术范畴.还涉及如何与各方沟通、如何降低项目的复杂度、怎样强化开发团队等。');

 

--SQL> start D:\app\Milo\product\11.2.0\dbhome_1\ctx\admin\defaults\drdefus.sql;

 

--創建全文索引

CREATE INDEX demo_abstract ON TEXT_SEARCH(ABSTRACT) indextype IS ctxsys.context parameters('lexer my_lexer1');

 

--查看索引建立是否出錯。

SELECT * FROM ctx_USER_index_errors

 

--基本測試

SELECT t.* FROM TEXT_SEARCH t WHERE contains(ABSTRACT,'HTML5高级程序设计')>0;

--OR 測試

SELECT t.* FROM TEXT_SEARCH t WHERE contains(ABSTRACT,'HTML5高级程序设计 or 不同的技术图书')>0;

--AND 測試

SELECT t.* FROM TEXT_SEARCH t WHERE contains(ABSTRACT,'HTML5高级程序设计 and 历史背景')>0;

posted @ 2011-12-02 16:27  lzone6  阅读(808)  评论(0)    收藏  举报