您的位置:首页 > 数据库 > Oracle

oracle 全文索引

2011-05-30 14:01 330 查看
GRANT CTXAPP TO XYADMIN;
Begin
-- 定义一个词法分析器
--ctx_ddl.drop_preference('cnlex');
--ctx_ddl.create_preference('cnlex','CHINESE_LEXER'); --针对中文
ctx_ddl.create_preference('cnlex','chinese_vgram_lexer'); --针对中文
-- 定义一个相关词表
--ctx_ddl.drop_preference('mywordlist');
--ctx_ddl.create_preference('mywordlist', 'BASIC_WORDLIST');
--ctx_ddl.set_attribute('mywordlist','PREFIX_INDEX','TRUE');
--ctx_ddl.set_attribute('mywordlist','PREFIX_MIN_LENGTH',1);
--ctx_ddl.set_attribute('mywordlist','PREFIX_MAX_LENGTH', 5);
--ctx_ddl.set_attribute('mywordlist','SUBSTRING_INDEX', 'YES');
end;

COMMIT;
drop index CorporationName_index force
drop index BusinessScope_index force

--CREATE INDEX CorporationName_index ON CorporationMainTable(CorporationName) indextype is ctxsys.context
--parameters ('DATASTORE CTXSYS.DIRECT_DATASTORE FILTER
--CTXSYS.NULL_FILTER LEXER cnlex WORDLIST mywordlist');

CREATE INDEX CorporationName_index ON CorporationMainTable(CorporationName) indextype is ctxsys.context PARAMETERS ('lexer cnlex');
CREATE INDEX BusinessScope_index ON CorporationMainTable(BusinessScope) INDEXTYPE IS CTXSYS.CONTEXT PARAMETERS ('lexer cnlex');

exec ctx_ddl.sync_index('CorporationName_index');

-- sync:
VARIABLE jobno number;
BEGIN
DBMS_JOB.SUBMIT(:jobno,'ctx_ddl.sync_index(''CorporationName_index'');
ctx_ddl.sync_index(''BusinessScope_index'');
ctx_ddl.sync_index(''LegalRepresentative_index'');',
SYSDATE, 'SYSDATE + (1/24/4)');
commit;
END;

-- optimizer
VARIABLE jobno number;
BEGIN
DBMS_JOB.SUBMIT(:jobno,'ctx_ddl.optimize_index(''CorporationName_index'',''FULL'');
ctx_ddl.optimize_index(''BusinessScope_index'',''FULL'');
ctx_ddl.optimize_index(''LegalRepresentative_index'',''FULL'');',
SYSDATE, 'SYSDATE + 1');
commit;
END;
grant execute any procedure to CREDIT_CORP;
exec dbms_job.run(73);
exec dbms_job.remove(69);
exec dbms_job.remove(72);
select * from user_jobs;

--其中,第一个job的SYSDATE + (1/24/4)是指每隔15分钟同步一次,第二个job的SYSDATE + 1是每隔1天做一次全优化。具体的时间间隔,你可以根据自己的应用的需要而定。至此,你的全文检索功能已设置完成。

--其中,第一个job的SYSDATE + (1/24/4)是指每隔15分钟同步一次,第二个job的SYSDATE + 1是每隔1天做一次全优化。具体的时间间隔,你可以根据自己的应用的需要而定。至此,你的全文检索功能已设置完成。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: