当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 3 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [求助]oracle Text的问题,和管理好像关系不大,知道请帮一下
帖子发表于 : 2009-05-06 20:54 

注册: 2007-07-01 17:36
帖子: 229
地址: (En):address
系统: (En):System
送出感谢: 2
接收感谢: 3
oracle text是全文检索,在使用过程中有些疑问,来这里问问。具体请看下面。

有2个表,通过FK相连,每个表各有一个很大的字段(VCHAR2(4000)),一个表有1M记录,另一个有3M记录。
现在要做全文检索,就是这2个大字段,通过FK来JOIN 2个表。我采用了oracle text,并建立了索引,基于basic_lexer(所有保存的字符无中文)

问题:
- contains(column,'keyword')>0 和 column LIKE '%keyword%' 的结果不同,差的还挺多。为什么?怎么解决这个?
-比如一个单词 "access" 如果contains(cln, 'cess')>0查不到,但LIKE就可以,怎么解决这个区别?
-性能上的,用contains确实比LIKE要快,不过,第一次用CONTAINS,大概用30s(当然了30s也比LIKE要快),然后改变搜索关键字,就用2s,过一段时间不查询,再查询,又30秒,接着查,2秒。。。这是个什么机制?

就这些吧,请知道的给讲解一下。谢谢。

P。S。测试环境是oracle 10g express + ubuntu 804


_________________
---
regards,

Kent


页首
 用户资料  
 
2 楼 
 文章标题 : Re: [求助]oracle Text的问题,和管理好像关系不大,知道请帮一下
帖子发表于 : 2009-05-06 21:38 
论坛管理员

注册: 2005-03-27 0:06
帖子: 10116
系统: Ubuntu 12.04
送出感谢: 7
接收感谢: 128
全文检索是基于分词索引,你查cess当然查不到,这是正常的。
oracle会把常用的索引放到cache中。


页首
 用户资料  
 
3 楼 
 文章标题 : Re: [求助]oracle Text的问题,和管理好像关系不大,知道请帮一下
帖子发表于 : 2009-05-07 0:35 

注册: 2007-07-01 17:36
帖子: 229
地址: (En):address
系统: (En):System
送出感谢: 2
接收感谢: 3
这个我是知道的。lexer认为最小单位是单词。
可我问题1怎么整?我可以设置那些字符,让所有记录都满足条件,可查出来CONTAINS就是少。。。:(

客户还要求和LIKE要一样,还要快。是不是得跟他们交涉交涉了。。。


_________________
---
regards,

Kent


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 3 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译