楼主: cactus

关键字查询问题

[复制链接]
论坛徽章:
2
开发板块每日发贴之星
日期:2005-06-11 01:02:14授权会员
日期:2005-10-30 17:05:33
31#
发表于 2002-11-4 09:52 | 只看该作者
用InterMedia Text可以的,它有两个中文词法分析器:chinese_vgram_lexer和chinese_lexer。chinese_lexer比chinese_vgram_lexer聪明得多,它分析中文词组的正确性更高,但chinese_lexer只能用在utf8字符集的数据库上,chinese_vgram_lexer没有限制。然后把干扰的(的,和)加入到stoplist中。
不要忘了索引的更新!!!

使用道具 举报

回复
论坛徽章:
2
开发板块每日发贴之星
日期:2005-06-11 01:02:14授权会员
日期:2005-10-30 17:05:33
32#
发表于 2002-11-7 22:13 | 只看该作者
如果是Oracle9i,数据库字符集是utf8,可以用chinese_lexer,对中文支持比较好。

使用道具 举报

回复
论坛徽章:
2
授权会员
日期:2005-10-30 17:05:33ITPUB 11周年纪念徽章
日期:2012-10-09 18:03:32
33#
发表于 2002-11-25 13:45 | 只看该作者
check this link at ASKtom site

http://asktom.oracle.com/pls/ask ... 0and%20%7Bsearch%7D

ops$tkyte@ORA817DEV.US.ORACLE.COM> create table t ( data varchar2(50) );
Table created.

ops$tkyte@ORA817DEV.US.ORACLE.COM> insert into t values ( 'How#Now#Red#Cow' );
1 row created.

ops$tkyte@ORA817DEV.US.ORACLE.COM> insert into t values ( 'How Now Red Cow' );
1 row created.

ops$tkyte@ORA817DEV.US.ORACLE.COM> insert into t values ( 'How # Now Red Cow' );
1 row created.


ops$tkyte@ORA817DEV.US.ORACLE.COM> exec ctx_ddl.drop_preference('my_lexer');
PL/SQL procedure successfully completed.

ops$tkyte@ORA817DEV.US.ORACLE.COM> begin
  2      ctx_ddl.create_preference('my_lexer','BASIC_LEXER');
  3      ctx_ddl.set_attribute('my_lexer','printjoins','#');
  4  end;
  5  /

PL/SQL procedure successfully completed.

ops$tkyte@ORA817DEV.US.ORACLE.COM> create index t_ind_ctx on t(data) indextype
  2  is ctxsys.context parameters('lexer my_lexer');

Index created.


no here are all of the tokens we have parsed as "words"

ops$tkyte@ORA817DEV.US.ORACLE.COM> select token_text from DR$T_IND_CTX$I;

TOKEN_TEXT
----------------------------------------------------------------
#
RED
COW
HOW
HOW#NOW#RED#COW
NOW

6 rows selected.

ops$tkyte@ORA817DEV.US.ORACLE.COM> select * from t where contains( data, 'How' )
> 0;

DATA
--------------------------------------------------
How Now Red Cow
How # Now Red Cow

ops$tkyte@ORA817DEV.US.ORACLE.COM> select * from t where contains( data, '#' ) >
0;

DATA
--------------------------------------------------
How # Now Red Cow

使用道具 举报

回复
论坛徽章:
1088
金色在线徽章
日期:2007-04-25 04:02:08金色在线徽章
日期:2007-06-29 04:02:43金色在线徽章
日期:2007-03-11 04:02:02在线时间
日期:2007-04-11 04:01:02在线时间
日期:2007-04-12 04:01:02在线时间
日期:2007-03-07 04:01:022008版在线时间
日期:2010-05-01 00:01:152008版在线时间
日期:2011-05-01 00:01:342008版在线时间
日期:2008-06-03 11:59:43ITPUB年度最佳技术原创精华奖
日期:2013-03-22 13:18:30
34#
发表于 2012-5-23 18:04 | 只看该作者
good

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表