oracle 全文检索创建脚本示例
--创建全文索引
grant execute on ctx_ddl to username;--使用其他帐号对username授权
exec ctx_ddl.create_preference('my_lexer','chinese_lexer');--创建chinese_lexer词法器(中文词法分析器)
exec ctx_ddl.create_preference('my_filter','CHARSET_FILTER');--创建字符过滤器
exec ctx_ddl.set_attribute('my_filter','charset','ZHS16GBK');--设置过滤器字符编码
create index idx_tablename_colname on tablename(colname) indextype is ctxsys.context parameters('lexer my_lexer');--在tablename上创建索引
--使用全文检索:
select * from tablename where contains(col,'北京');
--全文索引同步
例如: 同步索引myindex:Exec ctx_ddl.sync_index ('myindex'); 实施建议:建议通过oracle的job对索引进行同步
--全文索引优化
经常的索引同步将会导致你的CONTEXT索引产生碎片。索引碎片严重的影响了查询的反应速度。你可以定期优化索引来减少碎片,减少索引大小,提高查询效率。 当文本从表中删除的时候,Oracle Text标记删除的文档,但是并不马上修改索引。因此,就的文档信息占据了不必要的空间,导致了查询额外的开销。
你必须以FULL模式优化索引,从索引中删除无效的旧的信息。这个过程叫做垃圾处理。当你经常的对表文本数据进行更新,删除操作的时候,垃圾处理是很必要的。
本文来自博客园,作者:AI粉嫩特攻队,转载请注明原文链接:https://www.cnblogs.com/anai/p/5719222.html
分类:
数据库
标签:
oracle 全文检索
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通