+ -
当前位置:首页 → 问答吧 → oracle 11g 全文索引

oracle 11g 全文索引

时间:2011-12-02

来源:互联网

--查看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 ('oratext_lexer', 'chinese_vgram_lexer');
END;

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)这样杰出的软件架构师,大家分享了多年积累的开发经验和工作准则.内容不限于单纯的技术范畴.还涉及如何与各方沟通、如何降低项目的复杂度、怎样强化开发团队等。');


drop index demo_abstract
CREATE INDEX demo_abstract ON TEXTTEST.TEXT_SEARCH(ABSTRACT) indextype IS ctxsys.context parameters('lexer ORATEXT_LEXER');

ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-20000: Oracle Text error:
DRG-10700: preference does not exist: ORATEXT_LEXER
ORA-06512: at "CTXSYS.DRUE", line 160
ORA-06512: at "CTXSYS.TEXTINDEXMETHODS", line 366

View program sources of error stack?  

出现上面错误,怎么回事,我查了资料,也用了--SQL> start D:\app\Milo\product\11.2.0\dbhome_1\ctx\admin\defaults\drdefus.sql;
但是执行完还是一样出错。
有谁可一个给个11G全文索引的demo吗,最好是包含外部文件的查询。

作者: xieyijun1986   发布时间: 2011-12-02

已經解決了,謝謝。

作者: xieyijun1986   发布时间: 2011-12-02

--同步索引
begin
ctx_ddl.sync_index('idx_title_abstract','2M');
end;


BEGIN ctx_ddl.optimize_index('idx_title_abstract','FULL'); END;

怎麼使用上面兩種都無法真正同步索引。做DML完后,再查詢,還是找到舊的,無法找到新的。
當刪除了索引,再重建索引,才能查到新的詞條???

作者: xieyijun1986   发布时间: 2011-12-02