Oracle全文检索配置与实践

本文源自: https://www.cnblogs.com/sd-axin/p/8026517.html

在Web项目中使用Oracle全文检索的话,首先要进行Oracle数据库相关表的全文检索配置,所做的准备工作就是要给当前使用用户赋予ctx_ddl包操作权限,有了权限才能进行所要操作表的全文检索配置,接下来看一下具体的配置方法。

1、创建分析器。

    分析器就是用来将需要检索的记录,按照一定的方式进行词组拆分,然后存放在索引表中。检索的时候根据索引表中存放的拆分词组,对传入的关键字进行匹配,并返回匹配结果。

    oracle text中的分析器有3种:

    (1)basic_lexer:只能根据空格和标点来进行拆分。

    (2)chinese_vgram_lexer:专门的汉语分析器,按字单元进行拆分。这种方式的好处是能够将所有有可能的词组全部保存进索引表,使得数据不会遗漏。

    (3)chinese_lexer:一种新的汉语分析器,能够认识大部分常用的汉语词汇,并按常用词汇进行拆分存储。

    每一种分析器都有它最适合的应用环境,这个要根据自己数据库的编码方式和数据存储情况进行选择。

    我的表结构如下图:

我要对info字段进行全文检索,info字段中大多存储的时中文介绍信息,选择chinese_vgram_lexer分析器最合适,创建分析器的命令:

exec ctx_ddl.create_preference ('my_lexer','chinese_vgram_lexer');

或者:

beigin 

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

end;

接下来如果根据项目需求需要过滤词组的话再进行创建过滤词组,不需要的话就可以忽略了。

2、创建索引

    我要对TOUR_STRATEGY表中的info字段进行检索,接下来就要对info字段建立索引,建立索引的命令:

create index TOUR_STRATEGY_INDEX on TOUR_STRATEGY(info) indextype is CTXSYS.CONTEXT parameters('lexer my_lexer ');

索引创建成功以后,就可以在项目中使用了。

select * from tour_strategy where contains(info,'乘物')>0;

3、索引与数据变化同步

当我们需要修改tour_strategy表中的数据,比如添加、删除、更新等操作时,TOUR_STRATEGY_INDEX索引是不会同步更新数据的,需要我们在程序中手动的更新,可以写一个oracle的触发器,当添加、删除、修改操作时,进行索引更新。也可以定时进行更新。更新命令:

exec ctx_ddl.sync_index('yu_test_index');

或者:

begin

ctx_ddl.sync_index('yu_test_index');

end;

另外,如果前面创建全文索引的时候带上了参数“sync(on commit)”,则同步不需要手工去执行,当数据变动时,会自动进行同步操作;操作命令:

 create index TOUR_STRATEGY_INDEX on TOUR_STRATEGY(info) indextype is CTXSYS.CONTEXT parameters('lexer my_lexer sync(on commit)');

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle数据库高可用性是指系统在面对各种故障和障碍的情况下,仍能够保持连续运行和可靠性。对于企业级应用来说,高可用性是非常重要的,因为一旦数据库出现故障,将会对业务带来不可估量的影响。以下是一些分析和实践建议: 1. 数据库备份和恢复:备份是防止数据丢失的最好方法,因此需要制定备份策略,并定期测试备份和恢复操作。Oracle提供了多种备份和恢复选项,包括物理备份、逻辑备份、热备份、冷备份等。 2. 数据库复制和同步:数据库复制和同步可以提高数据库的可用性和性能。Oracle提供了多种复制和同步方案,包括数据集群、数据镜像、双活数据库等。 3. 负载均衡和故障转移:负载均衡和故障转移可以提高数据库的可用性和性能。Oracle提供了多种负载均衡和故障转移方案,包括Oracle RAC、Data Guard、GoldenGate等。 4. 监控和管理:监控和管理是确保数据库高可用性的关键。需要对数据库进行实时监控,及时发现和处理故障和问题。Oracle提供了多种监控和管理工具,包括Enterprise Manager、AWR、ADDM等。 5. 安全和可靠性:安全和可靠性是数据库高可用性的基础。需要采取安全措施,如加密、身份验证、访问控制等,以确保数据库的安全和可靠性。Oracle提供了多种安全措施,包括加密、SSL、数据遮蔽等。 总之,Oracle数据库高可用性需要综合考虑多个方面,包括备份和恢复、复制和同步、负载均衡和故障转移、监控和管理、安全和可靠性等。只有在各个方面都做好了,才能确保数据库的高可用性和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值