oracle 全文检索
最近一个项目要做全文检索,所以了解了下oracle text,现在在测试性能上有些疑惑。
BEGIN
ctx_ddl.create_preference ('my_datastore_prefs', 'FILE_DATASTORE');
ctx_ddl.set_attribute ('my_datastore_prefs', 'path', 'd:\TEMP');
END;
begin
ctx_ddl.create_preference('cs_filter', 'CHARSET_FILTER');
ctx_ddl.set_attribute('cs_filter', 'charset', 'UTF8');
end;
BEGIN
ctx_ddl.create_preference ('my_lexer', 'chinese_lexer');
END;
BEGIN
ctx_ddl.create_preference ('my_chinese_lexer', 'CHINESE_VGRAM_LEXER');
END;
CREATE TABLE mydocs( id NUMBER PRIMARY KEY, title VARCHAR2(255), thefile
VARCHAR2(255) );
CREATE INDEX mydocs_text_index ON mydocs(thefile) INDEXTYPE IS ctxsys.context
PARAMETERS('datastore my_datastore_prefs filter cs_filter Lexer my_lexer');
SELECT id,title,thefile
FROM mydocs m
WHERE contains( thefile, '俄罗斯' ) > 0;
通过 oracle text 读取服务器本地文件并进行检索,但是这里contains只是判断‘俄罗斯’是否出现过,可否能统计它的出现频率呢。
暂时我仅仅用了十万条数据和文件 进行测试,当然真实环境肯定是海量级的数据,所以我想提前问一下,当数据在大量插入时索引按什么策略同步,如何进行索引优化,分区后是否会对索引的同步和优化有性能的提高,因为项目还没开始 只是技术上的探索 所以希望有经验的大侠 可以给一些建议和思路,不胜感激。