[求助]oracle Text的问题,和管理好像关系不大,知道请帮一下
发表于 : 2009-05-06 20:54
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
有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